打印

谁能帮我解答下ucos ii 信号量的疑问

[复制链接]
714|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
945863658|  楼主 | 2016-4-6 09:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
Leeone| | 2016-4-7 09:32 | 只看该作者
任务1:
while(信号量!=1);//等信号量,没有信号量发送过来这个任务就挂起,while后面的都不会执行

任务2:
信号量=1;//这个地方信号量置位了,任务1查询到信号量置位,就开始执行while后面的程序

使用特权

评论回复
板凳
Leeone| | 2016-4-7 09:33 | 只看该作者
只是比喻,说白了就是个标志位。只是它加入了些调度功能。

使用特权

评论回复
地板
youxiang123| | 2016-4-8 10:42 | 只看该作者
信号量对资源进行保护,

使用特权

评论回复
5
xstong| | 2016-4-15 11:07 | 只看该作者
信号量是多个线程之间协调工作的一个机制,还有互斥量!!这只是一个概念,不要咬文嚼字。举个例子:
信号量:你开个旅馆,能容纳100个人,客房未满,则客人来了就能入住。 如果满了,那么这时候,只能走一个人,才能再进一个人。
互斥量:你进入房间后,如果没反锁门,那房客有可能走错房间,会进入你的房间,如果你反锁了即便房客迷糊找不到自己的房间也不会进错屋。

这里面房间就是你的资源,需要做好合理的安排。
到底走了几个房客,能允许几个人入住,这是你任务该处理的工作。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

26

帖子

1

粉丝