[發明專利]線程數目可伸縮的多任務隊列調度系統及其實現方法有效
| 申請號: | 201310428355.6 | 申請日: | 2013-09-18 |
| 公開(公告)號: | CN103473129B | 公開(公告)日: | 2017-01-18 |
| 發明(設計)人: | 顧玉峰 | 申請(專利權)人: | 深圳前海大數金融服務有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 上海知義律師事務所31304 | 代理人: | 楊楠 |
| 地址: | 518052 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 線程 數目 伸縮 任務 隊列 調度 系統 及其 實現 方法 | ||
1.?一種線程數目可伸縮的多任務隊列調度系統,主要由任務派發者、工作線程池和任務隊列構成;其特征在于:所述的任務派發者為一個獨立的進程或線程;所述的工作線程池創建有一個以上的工作線程,且工作線程不與任務隊列直接相關聯;所述的任務隊列是根據任務類型創建的任務排隊序列;所述的任務派發者根據任務隊列情況決定是否分配新的工作線程。
2.?一種如權利要求1所述的線程數目可伸縮的多任務隊列調度系統的實現方法,包括系統初始化設計、任務派發者的邏輯設計和工作線程的邏輯設計;其特征在于,所述的系統初始化設計包括:
(1)為每種任務類型創建一個對應的任務隊列,并分別記為TQ1,TQ2,…,TQn;
(2)創建一個或者兩個以上任務派發者,接收任務并根據任務類型派發到相應的任務隊列中;
(3)初始化工作線程池,空閑狀態的工作線程進入睡眠狀態;
所述的任務派發者的邏輯設計包括:
(1)任務派發者接收到某一類型的任務Ti時,找到其對應的任務隊列TQi,并判斷該任務隊列的待執行任務是否為空;
(2)如果該任務隊列TQi的待執行任務為空,則將任務Ti放入到該任務隊列TQi中,并執行以下操作:
a.在工作線程池中查找空閑狀態的工作線程,如果工作線程池中無空閑狀態的工作線程,則創建一個新的工作線程,并將其加入到工作線程池中;
b.用找到的空閑狀態的工作線程或是新建的工作線程來執行任務Ti;
(3)如果該任務隊列TQi的待執行任務不為空,則將任務Ti放在任務隊列TQi的末尾,等待任務執行;
所述的工作線程的邏輯設計包括:
(1)當工作線程被分配一個任務Ti時,其執行該任務;
(2)當工作線程執行完一個任務Ti后,其查找Ti對應的隊列TQi,然后執行以下操作:
a.將任務Ti從TQi中移除;
b.如果TQi不為空,繼續執行隊頭的任務;
c.如果TQi為空,終止執行,工作線程回歸工作線程池。
3.?根據權利要求2所述的多任務隊列調度系統的實現方法,其特征在于:所述的任務派發者為一個獨立的進程或線程。
4.?根據權利要求2所述的多任務隊列調度系統的實現方法,其特征在于:所述的工作線程池創建有一個以上的工作線程,且工作線程不與任務隊列直接相關聯。
5.?根據權利要求2-4任一所述的多任務隊列調度系統的實現方法,其特征在于:所述的待執行任務包括未執行任務和正在執行但未完成的任務。
6.?根據權利要求5所述的多任務隊列調度系統的實現方法,其特征在于:所述的工作線程回歸工作線程池后,工作線程池將銷毀該工作線程或是將該工作線程分配給其他任務隊列執行任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳前海大數金融服務有限公司,未經深圳前海大數金融服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310428355.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:安全節能型電取暖器
- 下一篇:軋鋼機鋼性合金瓦柱塞機構





