專利名稱:一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法,特別涉及一種在批量執(zhí)行有 優(yōu)先級(jí)的任務(wù)的時(shí)候,可以使用支持優(yōu)先級(jí)的隊(duì)列來決定任務(wù)執(zhí)行的先后次序 的方法。
背景技術(shù):
當(dāng)批量執(zhí)行任務(wù)時(shí),我們通常想讓這些任務(wù)具有優(yōu)先級(jí)。本發(fā)明將使用一 種支持優(yōu)先級(jí)的隊(duì)列來決定任務(wù)執(zhí)行的先后次序。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種在批量執(zhí)行有優(yōu)先級(jí)的任務(wù)的時(shí) 候,可以使用支持優(yōu)先級(jí)的隊(duì)列來決定任務(wù)執(zhí)行的先后次序
本發(fā)明所述的 一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法,該方法至少包括如下的
步驟
步驟l:建立支持優(yōu)先級(jí)的隊(duì)列。
步驟2:應(yīng)用程序?qū)⑷蝿?wù)添加到優(yōu)先級(jí)隊(duì)列中,同時(shí)指定該任務(wù)的優(yōu)先級(jí)。 步驟3:優(yōu)先級(jí)隊(duì)列檢查集合中是否存在該優(yōu)先級(jí)的普通隊(duì)列,如果沒有則 添力口。
步驟4:將該任務(wù)添加到該普通隊(duì)列中。
步驟5:任務(wù)調(diào)度管理器向優(yōu)先級(jí)隊(duì)列發(fā)起請(qǐng)求,獲取一個(gè)任務(wù)。 步驟6:優(yōu)先級(jí)隊(duì)列查詢集合中優(yōu)先級(jí)的值最大的普通隊(duì)列,從該隊(duì)列中按 隊(duì)列的順序取出任務(wù)。
步驟7:判斷該普通隊(duì)列是否為空,如果為空則從集合中移除。
3步驟8:所取出的任務(wù)被返回給任務(wù)調(diào)度管理器。
本發(fā)明所述的一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法,建立支持優(yōu)先級(jí)的隊(duì)列, 其步驟為
步驟ll:先建立不支持優(yōu)先級(jí)的普通s隊(duì)列。
步驟12:建立一個(gè)隊(duì)列集合,可以存儲(chǔ)多個(gè)普通隊(duì)列,同時(shí)記錄每個(gè)隊(duì)列 的優(yōu)先級(jí)。
步驟13:可以以整數(shù)來表示優(yōu)先級(jí),數(shù)值大的優(yōu)先級(jí)高。
本發(fā)明涉及的一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法使得在批量執(zhí)行有優(yōu)先級(jí) 的任務(wù)的時(shí)候,可以使用支持優(yōu)先級(jí)的隊(duì)列來決定任務(wù)執(zhí)行的先后次序。
圖1為本發(fā)明的流程圖。
具體實(shí)施例方式
參見圖1,本發(fā)明的主要步驟如下
步驟l:建立支持優(yōu)先級(jí)的隊(duì)列。
步驟2:應(yīng)用程序?qū)⑷蝿?wù)添加到優(yōu)先級(jí)隊(duì)列中,同時(shí)指定該任務(wù)的優(yōu)先級(jí)。 步驟3:優(yōu)先級(jí)隊(duì)列檢查集合中是否存在該優(yōu)先級(jí)的普通隊(duì)列,如果沒有則 添力口。
步驟4:將該任務(wù)添加到該普通隊(duì)列中。
步驟5:任務(wù)調(diào)度管理器向優(yōu)先級(jí)隊(duì)列發(fā)起請(qǐng)求,獲取一個(gè)任務(wù)。 步驟6:優(yōu)先級(jí)隊(duì)列查詢集合中優(yōu)先級(jí)的值最大的普通隊(duì)列,從該隊(duì)列中按 隊(duì)列的順序取出任務(wù)。 步驟7:判斷該普通隊(duì)列是否為空,如果為空則從集合中移除。 步驟8:所取出的任務(wù)被返回給任務(wù)調(diào)度管理器。上述步驟1建立支持優(yōu)先級(jí)的隊(duì)列的具體步驟如下 步驟11:先建立不支持優(yōu)先級(jí)的普通s隊(duì)列。
步驟12:建立一個(gè)隊(duì)列集合,可以存儲(chǔ)多個(gè)普通隊(duì)列,同時(shí)記錄每個(gè)隊(duì)列 的優(yōu)先級(jí)。
步驟13:可以以整數(shù)來表示優(yōu)先級(jí),數(shù)值大的優(yōu)先級(jí)高。 上述的技術(shù)方案實(shí)施時(shí)在批量執(zhí)行有優(yōu)先級(jí)的任務(wù)的時(shí)候,可以使用支持 優(yōu)先級(jí)的隊(duì)列來決定任務(wù)執(zhí)行的先后次序。
最后所應(yīng)說明的是,以上實(shí)施例僅用以說明而并非限制本發(fā)明所描述的技 術(shù)方案;因此,盡管本說明書參照上述的實(shí)施例對(duì)本發(fā)明已進(jìn)行了詳細(xì)的說明, 但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對(duì)本發(fā)明進(jìn)行修改或者等同 地替換;而一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋 在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1、一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法,其特征在于該方法至少包括如下的步驟步驟1建立支持優(yōu)先級(jí)的隊(duì)列。步驟2應(yīng)用程序?qū)⑷蝿?wù)添加到優(yōu)先級(jí)隊(duì)列中,同時(shí)指定該任務(wù)的優(yōu)先級(jí)。步驟3優(yōu)先級(jí)隊(duì)列檢查集合中是否存在該優(yōu)先級(jí)的普通隊(duì)列,如果沒有則添加。步驟4將該任務(wù)添加到該普通隊(duì)列中。步驟5任務(wù)調(diào)度管理器向優(yōu)先級(jí)隊(duì)列發(fā)起請(qǐng)求,獲取一個(gè)任務(wù)。步驟6優(yōu)先級(jí)隊(duì)列查詢集合中優(yōu)先級(jí)的值最大的普通隊(duì)列,從該隊(duì)列中按隊(duì)列的順序取出任務(wù)。步驟7判斷該普通隊(duì)列是否為空,如果為空則從集合中移除。步驟8所取出的任務(wù)被返回給任務(wù)調(diào)度管理器。
2、 根據(jù)權(quán)利要求1所述的一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法,其特征在于 建立支持優(yōu)先級(jí)的隊(duì)列,其步驟為步驟11:先建立不支持優(yōu)先級(jí)的普通s隊(duì)列。 步驟12:建立一個(gè)隊(duì)列集合,可以存儲(chǔ)多個(gè)普通隊(duì)列,同時(shí)記錄每個(gè)隊(duì)列 的優(yōu)先級(jí)。步驟13:可以以整數(shù)來表示優(yōu)先級(jí),數(shù)值大的優(yōu)先級(jí)高。
全文摘要
一種支持優(yōu)先級(jí)的隊(duì)列的實(shí)現(xiàn)方法,首先建立支持優(yōu)先級(jí)的隊(duì)列;應(yīng)用程序?qū)⑷蝿?wù)添加到優(yōu)先級(jí)隊(duì)列中,同時(shí)指定該任務(wù)的優(yōu)先級(jí);優(yōu)先級(jí)隊(duì)列檢查集合中是否存在該優(yōu)先級(jí)的普通隊(duì)列,如果沒有則添加;然后將該任務(wù)添加到該普通隊(duì)列中;任務(wù)調(diào)度管理器向優(yōu)先級(jí)隊(duì)列發(fā)起請(qǐng)求,獲取一個(gè)任務(wù);優(yōu)先級(jí)隊(duì)列查詢集合中優(yōu)先級(jí)的值最大的普通隊(duì)列,從該隊(duì)列中按隊(duì)列的順序取出任務(wù);最后判斷該普通隊(duì)列是否為空,如果為空則從集合中移除;所取出的任務(wù)被返回給任務(wù)調(diào)度管理器。本發(fā)明使得在批量執(zhí)行有優(yōu)先級(jí)的任務(wù)的時(shí)候,可以使用支持優(yōu)先級(jí)的隊(duì)列來決定任務(wù)執(zhí)行的先后次序。
文檔編號(hào)G06F9/48GK101655807SQ20081011860
公開日2010年2月24日 申請(qǐng)日期2008年8月20日 優(yōu)先權(quán)日2008年8月20日
發(fā)明者徐友春, 湯海京, 峰 趙, 陳杉杉 申請(qǐng)人:北京聞言科技有限公司