PTT推薦

Re: [請益] 排程相關的演算法(優先佇列)

看板Soft_Job標題Re: [請益] 排程相關的演算法(優先佇列)作者
DJWS
(...)
時間推噓 1 推:1 噓:0 →:1

※ 引述《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留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.56.19 (臺灣)
PTT 網址

cathychg11/02 10:38上網找範例程式

cathychg11/02 10:38keywords