作者DJWS (...)
標題Re: [請益] 排程相關的演算法(優先佇列)
時間2022-10-22 18:37:24
※ 引述《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,又是另外一個主題囉。
--
※ 發信站: 批踢踢實業坊(pttsite.org.tw), 來自: 220.137.56.19 (臺灣)
※ 文章網址: https://pttsite.org.tw/Soft_Job/M.1666435048.A.9D0
推 cathychg: 上網找範例程式 11/02 10:38
→ cathychg: keywords 11/02 10:38