这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» 问一个关于任务调度问题,菜菜级:)

共6条 1/1 1 跳转至

问一个关于任务调度问题,菜菜级:)

菜鸟
2005-04-30 06:08:23 打赏
为什么无论我是否在shell下面敲入指定时间片轮循调度方式kernelTimeSlice(10)之后,再敲init,都只有task1得到调度????? #include "stdio.h" #include "sysLib.h" void task1(void); void task2(void); int init(void) { taskSpawn("tTask1",200,0,1000,task1,0,0,0,0,0,0,0,0,0,0); taskSpawn("tTask2",200,0,1000,task2,0,0,0,0,0,0,0,0,0,0); return; } void task1(void) { while(1) { logMsg("\r\nTASK1 #########",0,0,0,0,0,0); } return; } void task2(void) { while(1) { logMsg("\r\nTASK2 *********",0,0,0,0,0,0); } return; }



关键词: 一个 关于 任务 调度 问题 菜菜级

菜鸟
2005-04-30 19:44:00 打赏
2楼
注意init函数context的优先级,保证init能完整运行,而不被task1抢占

菜鸟
2005-05-01 07:39:00 打赏
3楼

有道理,非常谢谢...


菜鸟
2005-05-01 07:47:00 打赏
4楼
试验了,还是不行,在init了taskLock了也不性,把优先级改为255也不行,晕,怎么回事啊

菜鸟
2005-05-03 18:29:00 打赏
5楼

分析得有道理~~~~~~~~~~~~高~~~~!!!

长见识了:)


菜鸟
2005-05-03 18:49:00 打赏
6楼

现象正如你所说的.....看来好像kernelTimeSlice(10)这个函数设计有点问题


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]