目前工作大概一年多
想问一下各位关于排程相关的算法
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/
希望各位版友可以解惑
谢谢