|
| |
|
|
| |
| 3.1 Task的启动原则 |
大家知道,Task是靠什么来启动的?
Task是应该由外部事件(Event)来启动,平时不做事,可能在睡觉。而当有外部事件到来时,它就会根据外部事件的种类,做出相应的处理。Task绝对不能做成一个死循环,这样会造成其它的Task无法运行,因为OS在Task睡觉时,才可以去执行其它的Task。
以下的例子,会造成Task的死循环。需要改成去等待某个外部的事件,在外部事件没有来时,它可以在睡觉。所谓的睡觉,实际上就是将程序的执行权交给了OS去处理和判断。
往往实时OS都是被外部时钟(Clock)来启动的。比如,8ms的时钟。OS在启动时,回去检查各个Task的状态来判断是否应该叫醒某个Task。 |
|
|
|
|