Task_Struct tasks[] =
{
{0,200,200,task1}, //用各個任務的函數名初始化
{0,60,60,task2},
{0,100,100,task3},
{0,10,10,task4}
};
比如在此任務數組中有4個任務,但是每個任務的時間片是不同的。200ms/60ms/100ms/10ms
所以能在4個不同時間片執行相應的任務。
我的問題是在同一個時間片如何處理不同任務?
比如定時60秒的時間片,60秒到要處理顯示更新以及倒計時這兩個任務該如何解決?
(1)Task_Struct tasks[] =
{
{0,60,60,task1},//任務一顯示更新
{0,60,60,task2},//任務二倒計時
}
(2)Task_Struct tasks[] =
{
{0,60,60,task1}
}
void task1()
{
work1();//任務一顯示更新
work2();//任務二倒計時
}
這兩種方法行不行的通?或者有沒更好的方法能夠解決?
注:關于時間片輪解釋如下
|