目前工作大概一年多
想問一下各位關於排程相關的算法
https://i.imgur.com/DBthnys.png
我在書上觀看這個高性能定時器的章節
他提到每一秒掃描整張大表的壞處有二
1.任務的約定執行時間可能跟當前時間距離很久,所以掃描是徒勞的
2.如果列表很大,這會很徒勞
關於這兩點我都可以理解 每秒掃描會有這兩個壞處
也理解優先佇列可以避免這些問題
但我的問題是,這真的要動用到優先佇列嗎?
我對電腦底層不熟悉
沒有辦法直接去設定說
假設每個任務只要做十分鐘就一定可以做完好了
八點做A任務
九點做B任務
十點做C任務
我看很多框架都有支援這種方式
我朋友是跟我說那些框架可能底層也是靠priority queue來做的
我是不太理解,如果都可以每隔某段時間做某件事
電腦應該也可以指定時間做事吧?
為何一定要依靠每秒輪詢polling 或是 priority queue來做
這是我查到的排程相關算法的資料,每秒輪詢應該就是下面的
Round Robin (RR)
https://data-flair.training/blogs/scheduling-algorithms-in-operating-system/
希望各位版友可以解惑
謝謝