一對(duì)一直播源碼開(kāi)發(fā),關(guān)于調(diào)度算法的那些事
隨著一對(duì)一直播源碼的發(fā)展,需要面對(duì)的用戶數(shù)量和需要處理的事務(wù)都在不斷增加,只有合理的分配任務(wù)、管理進(jìn)程,才能保證各個(gè)系統(tǒng)功能的穩(wěn)定運(yùn)行,為此,就得在一對(duì)一直播源碼中引入調(diào)度算法。在開(kāi)發(fā)工作中,常用的調(diào)度算法有哪些呢?
?
一、先來(lái)先服務(wù)調(diào)度算法
主要是指按照一對(duì)一直播源碼中進(jìn)程到達(dá)的先后順序進(jìn)行服務(wù),屬于非搶占式的一種算法。雖然先來(lái)先服務(wù)調(diào)度算法看起來(lái)很公平,且實(shí)現(xiàn)起來(lái)簡(jiǎn)單,但對(duì)排在長(zhǎng)進(jìn)程后面的短進(jìn)程來(lái)說(shuō),用戶體驗(yàn)并不好。
?
二、短進(jìn)程優(yōu)先調(diào)度算法
主要是指一對(duì)一直播源碼中短進(jìn)程優(yōu)先得到服務(wù)的一種算法,也是非搶占式的算法。采用該算法實(shí)現(xiàn)的平均等待和平均周轉(zhuǎn)時(shí)間較短,對(duì)短進(jìn)程來(lái)說(shuō)用戶體驗(yàn)較好,但對(duì)長(zhǎng)進(jìn)程來(lái)說(shuō)并不公平,甚至可能會(huì)出現(xiàn)饑餓現(xiàn)象,也就是可能會(huì)導(dǎo)致某一長(zhǎng)進(jìn)程長(zhǎng)時(shí)間得不到服務(wù)。
?
三、優(yōu)先權(quán)調(diào)度算法
主要是指根據(jù)一對(duì)一直播源碼中任務(wù)的緊急程度來(lái)決定服務(wù)的順序,從優(yōu)先級(jí)較高的進(jìn)程開(kāi)始服務(wù)。該算法的優(yōu)勢(shì)在于能夠靈活的調(diào)整對(duì)各個(gè)進(jìn)程的偏好程度,用優(yōu)先級(jí)對(duì)進(jìn)程的緊急程度、重要程度進(jìn)行有序劃分。但劣勢(shì)在于仍舊可能會(huì)出現(xiàn)饑餓,優(yōu)先級(jí)低的進(jìn)程可能會(huì)長(zhǎng)時(shí)間得不到服務(wù)。
?
四、高響應(yīng)比優(yōu)先調(diào)度算法
主要是指按照一對(duì)一直播源碼中各個(gè)進(jìn)程計(jì)算的響應(yīng)比決定服務(wù)順序,從響應(yīng)比高的開(kāi)發(fā)服務(wù),是非搶占式的算法。該調(diào)度算法的優(yōu)勢(shì)在于綜合考慮了進(jìn)程的等待時(shí)間和要求服務(wù)的時(shí)間,能夠有效避免長(zhǎng)作業(yè)饑餓的問(wèn)題。
?
五、多級(jí)反饋隊(duì)列調(diào)度算法
主要是指對(duì)其他調(diào)度算法的這種權(quán)衡,不僅集合了上述調(diào)度算法的優(yōu)點(diǎn),還避免了他們的問(wèn)題。在該類調(diào)度算法中會(huì)設(shè)置多級(jí)就緒隊(duì)列,并且隊(duì)列排序要求也有多個(gè)。多級(jí)反饋隊(duì)列調(diào)度算法的公平性比較高,且新到達(dá)的進(jìn)程都能得到較快的響應(yīng)。
?
在一對(duì)一直播源碼開(kāi)發(fā)中可以選擇的調(diào)度算法遠(yuǎn)不止這些,具體如何選擇則需要結(jié)合實(shí)際的開(kāi)發(fā)情況去分析。其實(shí)不只是調(diào)度算法,一對(duì)一直播源碼開(kāi)發(fā)中其他算法的選擇也需要站在用戶體驗(yàn)的角度有針對(duì)性地去抉擇。
?
?