接下來是重點了,多優先順序任務的實現。之前都是給個時鐘,然後按時的調換任務。現在我們要更智能一些了,根據優先順序來調整任務的調換。更高端更好玩!
當然,首先要介紹一下一種新的數據結構,點陣圖數據結構:
可以對它各種騷操作:
比如初始化清零操作
置1操作
清除操作
尋找第一個1的位置
分組查找,可以加速查找效率。每8位一組
具體代碼實現
雙向鏈表對應的是延時任務列表,每次在時鐘節拍下,延時時間--,直到減到0時,將任務移動到就序列表,等待被執行。
是一個延時累加的過程,後面的肯定比前面延時時間長,所以就可以快速的按順序執行。
來看看一個實例: