cyc2009 发表于 2010-12-7 19:52:31

ucos 操作系统 信号量的超时问题

你好:
    我想请问一下,ucos中信号量等待时间的设置问题,如果设为100个节拍,在这期间没有信号量到来,那他后面是怎么处理的?超时不久后,信号量来了,那这任务是不是继续从这开始执行下去?如果timeout设为0,那它一直等待的时候此任务有没有让出cpu主控权?

   谢谢!

John_Lee 发表于 2010-12-7 20:42:45

1、超时后,Pend函数返回,程序应该区别这个返回是由于信号量已获得,还是超时引起的。
2、超时后信号量再到来,信号量是保存在信号量计数器中,与刚才超时返回的任务已经没有关系了,当然了,如果任务再次来调用Pend,就会立即获取到了。
3、不管超时值如何设置,所有的Pend函数在不满足条件时,都将让出CPU给其它任务。

cyc2009 发表于 2010-12-7 21:55:57

回复【1楼】John_Lee
-----------------------------------------------------------------------

非常感谢!我的疑问基本解决了!
页: [1]
查看完整版本: ucos 操作系统 信号量的超时问题