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