作者DJWS (...)
看板Soft_Job
标题Re: [请益] 排程相关的演算法(优先伫列)
时间Sat Oct 22 18:37:24 2022
※ 引述《ntpuisbest (阿龙)》之铭言:
: 目前工作大概一年多
: 想问一下各位关於排程相关的算法
: https://i.imgur.com/DBthnys.png
: 我在书上观看这个高性能定时器的章节
: 他提到每一秒扫描整张大表的坏处有二
: 1.任务的约定执行时间可能跟当前时间距离很久,所以扫描是徒劳的
: 2.如果列表很大,这会很徒劳
: 关於这两点我都可以理解 每秒扫描会有这两个坏处
: 也理解优先伫列可以避免这些问题
: 但我的问题是,这真的要动用到优先伫列吗?
有人使用,有人不使用。
--------------------------------------------------------------
https://zhuanlan.zhihu.com/p/372551679
用软件来实现动态定时器常用数据结构有:时间轮、最小堆和红黑树。
下面就是一些知名的实现:
Hierarchy 时间轮算法:Linux内核
红黑树最小堆算法:Asio C++ Library或nginx <--- 它就是优先伫列
---------------------------------------------------------------
他们考量了哪些因素,抱歉我也不知道。留给别人回答吧。
另外,你後面提到的Round Robin,那是CPU scheduling,又是另外一个主题罗。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.137.56.19 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1666435048.A.9D0.html
1F:推 cathychg: 上网找范例程式 11/02 10:38
2F:→ cathychg: keywords 11/02 10:38