[發(fā)明專利]接口任務調(diào)用方法及裝置有效
| 申請?zhí)枺?/td> | 201710789002.7 | 申請日: | 2017-09-05 |
| 公開(公告)號: | CN107491350B | 公開(公告)日: | 2018-08-10 |
| 發(fā)明(設計)人: | 黃浩;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網(wǎng)絡科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京超凡志成知識產(chǎn)權代理事務所(普通合伙) 11371 | 代理人: | 徐彥圣 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 接口 任務 調(diào)用 方法 裝置 | ||
本發(fā)明提供一種接口任務調(diào)用方法及裝置,應用于電子設備,所述方法包括:建立任務隊列以及用于處理所述任務隊列中任務的循環(huán)處理函數(shù);接收工作線程投遞的回調(diào)任務并放入所述任務隊列中,其中,所述回調(diào)任務由該工作線程需要調(diào)用的目標數(shù)據(jù)接口封裝而成,所述回調(diào)任務包括相應的優(yōu)先等級;使用所述循環(huán)處理函數(shù)批量提取并存儲所述任務隊列中的所述回調(diào)任務,并根據(jù)所述回調(diào)任務的優(yōu)先等級依次處理所述回調(diào)任務。如此,本實施例提供的方法可以以最快的速度實現(xiàn)線程逐個調(diào)用訪問目標數(shù)據(jù)接口,并且沒有多余的加鎖的操作,節(jié)約了系統(tǒng)運行資源,提高了多線程并發(fā)的處理能力。
技術領域
本發(fā)明涉及數(shù)據(jù)處理技術領域,具體而言,涉及一種接口任務調(diào)用方法及裝置。
背景技術
可能會有多線程同時訪問一個目標數(shù)據(jù)接口的情況,若一個線程在從數(shù)據(jù)接口向數(shù)據(jù)內(nèi)存中寫入數(shù)據(jù)的同時,另一個線程在通過數(shù)據(jù)接口從該數(shù)據(jù)內(nèi)存中讀取數(shù)據(jù),會對該數(shù)據(jù)內(nèi)存造成讀寫沖突,導致存儲的數(shù)據(jù)不完整。為解決以上為題,常用的一些做法是在寫入和讀取數(shù)據(jù)內(nèi)存的接口增加互斥鎖,即在一個線程訪問數(shù)據(jù)內(nèi)存的目標數(shù)據(jù)接口完成之前,阻止其他線程對該數(shù)據(jù)內(nèi)存的目標數(shù)據(jù)接口的訪問。但是,在線程數(shù)較多時,增加互斥鎖的位置較多,造成接口訪問速度降低,影響了并發(fā)性,甚至可能導致死鎖、程序假死等情況。并且,多個線程同時獲取一個加鎖對象時,競爭訪問會帶來額外的資源開銷,降低線程的響應速度,影響了程序運行的線程,頻繁的線程阻塞和喚醒動作也會加大CPU的工作負擔。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術中的上述不足,本發(fā)明的目的在于提供一種接口任務調(diào)用方法,應用于電子設備,所述方法包括:
建立任務隊列以及用于處理所述任務隊列中任務的循環(huán)處理函數(shù);
接收工作線程投遞的回調(diào)任務并放入所述任務隊列中,其中,所述回調(diào)任務由該工作線程需要調(diào)用的目標數(shù)據(jù)接口封裝而成,所述回調(diào)任務包括相應的優(yōu)先等級;
使用所述循環(huán)處理函數(shù)批量提取并存儲所述任務隊列中的所述回調(diào)任務,并根據(jù)所述回調(diào)任務的優(yōu)先等級依次處理所述回調(diào)任務。
進一步地,在上述方法中,所述方法還包括:
在處理完當前輪次提取出的回調(diào)任務后,再次從所述任務隊列中批量提取新的未處理的回調(diào)任務。
進一步地,在上述方法中,所述使用所述循環(huán)處理函數(shù)批量提取并存儲所述任務隊列中的所述回調(diào)任務的步驟,包括:
每間隔一預設時間從所述任務隊列中批量提取所述回調(diào)任務。
進一步地,在上述方法中,所述回調(diào)任務包括重要程度較高需要立即處理的第一等級任務、可以延時處理的第二等級任務及可以在線程空閑時處理的第三等級任務;所述根據(jù)所述回調(diào)任務的優(yōu)先等級依次處理所述回調(diào)任務的步驟,包括:
對提取出的所述第一等級任務進行處理;
在提取出的回調(diào)任務中不存在未處理的所述第一等級任務時,對所述第二等級任務進行處理;
在提取出的回調(diào)任務中不存在未處理的所述第一等級任務及未處理的第二等級任務時,對提取出的第三等級任務進行處理。
進一步地,在上述方法中,所述方法還包括:
所述循環(huán)處理函數(shù)在檢測到所述任務隊列中沒有回調(diào)任務時,執(zhí)行預設的等待函數(shù),進入休眠狀態(tài)。
進一步地,在上述方法中,所述方法還包括:
所述循環(huán)處理函數(shù)在休眠狀態(tài)時,檢測是否有回調(diào)任務投遞到所述任務隊列;
當檢測到有回調(diào)任務投遞到所述任務隊列是,喚醒所述循環(huán)處理函數(shù)從所述任務隊列提取回調(diào)任務并進行處理。
本發(fā)明的另一目的在于提供一種接口任務調(diào)用裝置,應用于電子設備,所述裝置包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網(wǎng)絡科技有限公司,未經(jīng)武漢斗魚網(wǎng)絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710789002.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





