今天run了一下cobble的例子,用windview得到的图表如附件。
看到那个crunch 的task,就是计算10个点的平均值的那个,在执行过程中,都有locked state 状态,相关的解释如下:
The VxWorks scheduler can be explicitly disabled and enabled on a per-task basis with the taskLock( ) and taskUnlock( ) routines. When preemption locking is enabled (shown by the stipple), priority-based preemption does not occur unless the task explicitly blocks or suspends. When the preemption-locked task unblocks and begins running again, preemption is again disabled. Note that multiple nested calls to taskLock( ) may be made; each one must be explicitly unlocked before normal priority-based scheduling is enabled. In addition, note that preemption-locked tasks are still subject to interrupts.
可是在源码里并没有看到这两个调用,请问为何会出现这种状态?
[upload=jpg]UploadFile/2004-12/2004122919252469.jpg[/upload] [align=right][color=#000066][此贴子已经被作者于2004-12-29 19:25:29编辑过][/color][/align]