本申請(qǐng)涉及操作系統(tǒng),具體涉及一種線程的調(diào)度方法及裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、操作系統(tǒng)中通常存在多條不同的線程,分別用于執(zhí)行不同的任務(wù)。而處理器同時(shí)運(yùn)行線程的數(shù)量是有限定的,對(duì)此相關(guān)技術(shù)中通常采用一套線程調(diào)度方法來調(diào)度線程運(yùn)行,以保證關(guān)鍵任務(wù)能夠被及時(shí)運(yùn)行。
2、在實(shí)踐中發(fā)現(xiàn),相關(guān)技術(shù)中通常采用基于優(yōu)先級(jí)的調(diào)度方式調(diào)度多條線程,即優(yōu)先級(jí)高的線程先運(yùn)行,優(yōu)先級(jí)低的線程后運(yùn)行。但是如果優(yōu)先級(jí)高且先就緒的線程對(duì)應(yīng)的任務(wù)比較復(fù)雜,執(zhí)行時(shí)間比較長(zhǎng),則可能導(dǎo)致其他關(guān)鍵性地線程得不到及時(shí)的響應(yīng),進(jìn)而降低了操作系統(tǒng)的任務(wù)吞吐量。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例公開了一種線程的調(diào)度方法及裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),能夠?qū)Σ糠质芄芫€程進(jìn)行間斷性地調(diào)度,避免某一受管線程長(zhǎng)時(shí)間占用處理器,以保證其他受管線程能夠被及時(shí)響應(yīng)。
2、本申請(qǐng)實(shí)施例第一方面公開一種線程的調(diào)度方法,應(yīng)用于操作系統(tǒng),所述方法包括:
3、將處于就緒狀態(tài)的受管線程添加至監(jiān)管隊(duì)列中,所述受管線程是所述操作系統(tǒng)包括的多條線程中的一條或多條線程,所述受管線程是由監(jiān)管線程進(jìn)行管理的線程;
4、在所述監(jiān)管隊(duì)列中存在受管線程的情況下,控制所述監(jiān)管線程在工作狀態(tài)及休眠狀態(tài)之間切換,并在所述監(jiān)管線程切換至工作狀態(tài)的情況下,通過所述監(jiān)管線程對(duì)所述監(jiān)管隊(duì)列中的受管線程進(jìn)行調(diào)度。
5、本申請(qǐng)實(shí)施例第二方面公開一種線程的調(diào)度裝置,應(yīng)用于操作系統(tǒng),所述裝置包括:
6、第一添加單元,用于將處于就緒狀態(tài)的受管線程添加至監(jiān)管隊(duì)列中,所述受管線程是所述操作系統(tǒng)包括的多條線程中的一條或多條線程,所述受管線程是由監(jiān)管線程進(jìn)行管理的線程;
7、調(diào)度單元,用于在所述監(jiān)管隊(duì)列中存在受管線程的情況下,控制所述監(jiān)管線程在工作狀態(tài)及休眠狀態(tài)之間切換,并在所述監(jiān)管線程切換至工作狀態(tài)的情況下,通過所述監(jiān)管線程對(duì)所述監(jiān)管隊(duì)列中的受管線程進(jìn)行調(diào)度。
8、本申請(qǐng)實(shí)施例第三方面公開一種電子設(shè)備,包括:
9、存儲(chǔ)有可執(zhí)行程序代碼的存儲(chǔ)器;
10、與所述存儲(chǔ)器耦合的處理器;
11、所述處理器調(diào)用所述存儲(chǔ)器中存儲(chǔ)的所述可執(zhí)行程序代碼,執(zhí)行本申請(qǐng)實(shí)施例第一方面公開的線程的調(diào)度方法。
12、本申請(qǐng)實(shí)施例第四方面公開一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序使得計(jì)算機(jī)執(zhí)行本申請(qǐng)實(shí)施例第一方面公開的線程的調(diào)度方法。
13、與相關(guān)技術(shù)相比,本申請(qǐng)實(shí)施例具有以下有益效果:
14、本申請(qǐng)實(shí)施例中,可以將一些需要被及時(shí)響應(yīng)的關(guān)鍵性線程劃分為受管線程,區(qū)別于操作系統(tǒng)中的其他普通線程由全局調(diào)度器進(jìn)行調(diào)度,受管線程由監(jiān)管線程進(jìn)行調(diào)度。其中,操作系統(tǒng)還可以建立監(jiān)管隊(duì)列用于存儲(chǔ)受管線程,進(jìn)而在監(jiān)管隊(duì)列中存在受管線程的情況下,監(jiān)管線程可以在工作狀態(tài)及休眠狀態(tài)之間切換,并在監(jiān)管線程切換至工作狀態(tài)的情況下,監(jiān)管線程可以對(duì)監(jiān)管隊(duì)列中的受管線程進(jìn)行調(diào)度,從而避免了某一個(gè)受管線程長(zhǎng)時(shí)間占用處理器,而導(dǎo)致其他受管線程無法得到及時(shí)響應(yīng)的情況。此外,由于監(jiān)管線程從休眠狀態(tài)切換至工作狀態(tài)之后,僅對(duì)監(jiān)管隊(duì)列中的受管線程進(jìn)行調(diào)度,而并不會(huì)影響操作系統(tǒng)中的其他普通線程的正常運(yùn)行,即其他普通線程的運(yùn)行不會(huì)被中斷,從而提高了處理器的利用率,也提高了其他普通線程的處理效率。
1.一種線程的調(diào)度方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將處于就緒狀態(tài)的受管線程添加至監(jiān)管隊(duì)列中,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將處于就緒狀態(tài)的受管線程添加至監(jiān)管隊(duì)列中,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過所述監(jiān)管線程對(duì)所述監(jiān)管隊(duì)列中的受管線程進(jìn)行調(diào)度,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述通過所述監(jiān)管線程將所述監(jiān)管隊(duì)列中的至少一個(gè)第二受管線程移動(dòng)至全局就緒隊(duì)列,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括:
8.根據(jù)權(quán)利要求5~7任一項(xiàng)所述的方法,其特征在于,所述控制所述監(jiān)管線程在工作狀態(tài)及休眠狀態(tài)之間切換,包括:
9.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
10.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
11.根據(jù)權(quán)利要求1~7及9、10任一項(xiàng)所述的方法,其特征在于,所述控制所述監(jiān)管線程在工作狀態(tài)及休眠狀態(tài)之間切換,包括:
12.根據(jù)權(quán)利要求1~7及9、10任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
13.根據(jù)權(quán)利要求1~7及9、10任一項(xiàng)所述的方法,其特征在于,所述監(jiān)管線程對(duì)應(yīng)的第一優(yōu)先級(jí),所述受管線程對(duì)應(yīng)第二優(yōu)先級(jí),所述第一優(yōu)先級(jí)大于或等于所述第二優(yōu)先級(jí)。
14.一種線程的調(diào)度裝置,其特征在于,所述裝置包括:
15.一種電子設(shè)備,其特征在于,包括存儲(chǔ)有可執(zhí)行程序代碼的存儲(chǔ)器,以及與所述存儲(chǔ)器耦合的處理器;其中,所述處理器調(diào)用所述存儲(chǔ)器中存儲(chǔ)的所述可執(zhí)行程序代碼,執(zhí)行如權(quán)利要求1~13任一項(xiàng)所述的方法。
16.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1~13任一項(xiàng)所述的方法。