ucos 建立信号量OSSemCreate什么时候计数初值用1,什么时候用0?
答案:2 悬赏:40 手机版
解决时间 2021-11-21 10:27
- 提问者网友:我一贱你就笑
- 2021-11-21 04:23
ucos 建立信号量OSSemCreate什么时候计数初值用1,什么时候用0?
最佳答案
- 五星知识达人网友:怙棘
- 2021-11-21 05:34
我拷贝了之前回答的答案:
OSSemPost 和OSSemPend是成对出现的,在程序OSSemPost 尚未运行到的时候,在等待Sem的
OSSemPend是会把当前的任务挂起,直到另外一个任务的OSSemPost 运行完毕都得到Sem。但是可以通过改变OSSemCreate(x)里面的值x改变这种局面,当x不为0时,OSSemPend会马上得到Sem继续运行当前任务至结束,并将x的数值减一,直到为0。为0后,只有等其他任务的OSSemPost了。
OSSemPost 和OSSemPend是成对出现的,在程序OSSemPost 尚未运行到的时候,在等待Sem的
OSSemPend是会把当前的任务挂起,直到另外一个任务的OSSemPost 运行完毕都得到Sem。但是可以通过改变OSSemCreate(x)里面的值x改变这种局面,当x不为0时,OSSemPend会马上得到Sem继续运行当前任务至结束,并将x的数值减一,直到为0。为0后,只有等其他任务的OSSemPost了。
全部回答
- 1楼网友:慢性怪人
- 2021-11-21 06:12
OSSemSet 可以设置初值的.OSSemPost成功会加1,OSSemPend成功会减1
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯