[發明專利]利用同步函數調用機制實現多線程消息交互的方法和裝置在審
| 申請號: | 201110241269.5 | 申請日: | 2011-08-22 |
| 公開(公告)號: | CN102279774A | 公開(公告)日: | 2011-12-14 |
| 發明(設計)人: | 馬奕平 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 工業和信息化部電子專利中心 11010 | 代理人: | 張紅玉 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 利用 同步 函數 調用 機制 實現 多線程 消息 交互 方法 裝置 | ||
1.一種利用同步函數調用機制實現多線程消息交互的方法,其特征在于,所述方法包括:
調用者任務調用函數接口,寫入請求參數;
所述函數接口鎖定接口使用權,并設置所述調用者任務的狀態為等待狀態;
所述函數接口通過輔助任務將所述請求參數發送至請求處理任務,并讀取所述請求處理任務反饋給所述輔助任務的響應數據;
所述函數接口設置所述調用者任務的狀態為空閑狀態,釋放所述接口使用權,并向所述調用者任務返回讀取的所述響應數據的長度。
2.如權利要求1所述的方法,其特征在于,
所述函數接口采用獲取預先創建的互斥信號量的方式實現鎖定接口使用權,采用釋放所述互斥信號量的方式實現釋放接口使用權。
3.如權利要求1或2所述的方法,其特征在于,所述函數接口通過所述輔助任務將所述請求參數發送至請求處理任務,并讀取所述請求處理任務反饋給所述輔助任務的響應數據,具體包括:
所述函數接口將所述請求參數發送至所述輔助任務,并設定等待時間,進入等待狀態;
所述輔助任務將所述請求參數發送至所述請求參數中指定的請求處理任務,并設置輔助任務的狀態為等待狀態;
所述輔助任務接收所述請求處理任務反饋的響應數據,將所述響應數據存入預設的緩沖區,設置所述輔助任務的狀態為空閑狀態,并通知所述函數接口;
所述函數接口接收到所述通知,讀取所述緩沖區中的響應數據。
4.如權利要3所述的方法,其特征在于,
所述函數接口設定等待時間,并進入等待狀態的方式包括:所述函數接口獲取預先創建的信號量,并設置獲取的所述信號量的等待時間;所述預先創建的信號量的初始值為0;
所述輔助任務通知所述函數接口的方式包括:所述輔助任務釋放所述信號量;
所述函數接口接收所述通知的方式是:所述函數接口成功獲取所述信號量。
5.如權利要求3所述的方法,其特征在于,還包括:
所述函數接口在所述等待時間結束后,若確定所述輔助任務的狀態仍為等待狀態,則直接釋放所述接口使用權,并向所述調用者任務返回讀取的響應數據的長度;其中,返回的響應數據的長度為0。
6.如權利要求3所述的方法,其特征在于,所述輔助任務接收所述請求處理任務反饋的響應數據后還包括:
所述輔助任務判斷所述調用者任務的狀態是否為等待狀態,若是,則將所述響應數據存入預設的緩沖區;否則,直接丟棄所述響應數據。
7.一種利用同步函數調用機制實現多線程消息交互的裝置,其特征在于,包括:調用者任務單元、函數接口、輔助任務單元和請求處理任務單元;
所述調用者任務單元,用于調用所述函數接口,寫入請求參數;并接收所述函數接口返回的響應數據的長度;
所述函數接口,用于基于所述調用者任務單元的調用,鎖定接口使用權,設置所述調用者任務單元的狀態為等待狀態;并通過所述輔助任務單元將所述請求參數發送至請求處理任務單元,并讀取所述請求處理任務單元反饋給所述輔助任務單元的響應數據;然后,設置所述調用者任務單元的狀態為空閑狀態,釋放接口使用權,并向所述調用者任務單元返回讀取的所述響應數據的長度。
8.如權利要求7所述的裝置,其特征在于,
所述函數接口,采用獲取預先創建的互斥信號量的方式實現鎖定接口使用權;采用釋放所述互斥信號量的方式實現釋放接口使用權。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110241269.5/1.html,轉載請聲明來源鉆瓜專利網。





