[發明專利]信號量功能實現方法和裝置在審
| 申請號: | 202011471392.1 | 申請日: | 2020-12-14 |
| 公開(公告)號: | CN112612582A | 公開(公告)日: | 2021-04-06 |
| 發明(設計)人: | 王全利;董廣譜;黃玲;李蒙 | 申請(專利權)人: | 北京和利時系統工程有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/54 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 解婷婷 |
| 地址: | 100176 北京市大*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 信號量 功能 實現 方法 裝置 | ||
1.一種信號量功能實現方法,包括:
用戶線程調用用戶空間的信號量接口函數,當信號量接口函數向信號量管理線程發送進程間通信IPC消息后,所述用戶線程被阻塞;
當信號量管理線程接收到IPC消息后,所述信號量管理線程調用與所述IPC消息的消息類型對應的處理函數,被調用的處理函數執行相應的信號量處理功能后,根據處理結果構建IPC應答消息返回給所述被調用的信號量接口函數,并喚醒被阻塞的用戶線程。
2.如權利要求1所述的方法,其特征在于:
當所述消息類型為請求信號量時,所述被調用的信號量接口函數為用于請求信號量的接口函數;所述IPC消息包括信號量的值和請求信號量的用戶線程的標識ID;
所述消息類型對應的處理函數為用于生成信號量的處理函數;所述被調用的處理函數執行相應的信號量處理功能后,根據處理結果構建IPC應答消息返回給所述被調用的信號量接口函數包括:
從所述IPC消息中解析出請求信號量的用戶線程的ID和信號量的值;
為請求信號量的用戶線程生成信號量,設置信號量標識ID并給所述信號量賦值;
生成包含所述信號量ID和請求信號量的線程ID的IPC應答消息,返回給所述用于請求信號量的接口函數。
3.如權利要求1所述的方法,其特征在于:
當所述消息類型為嘗試獲取信號量時;所述被調用的信號量接口函數為用于嘗試獲取信號量的接口函數;所述IPC消息包括信號量標識ID;
所述消息類型對應的處理函數為用于分配信號量的處理函數;所述被調用的處理函數執行相應的信號量處理功能后,根據處理結果構建IPC應答消息返回給所述被調用的信號量接口函數包括:
從所述IPC消息中解析出請求信號量ID;
檢查所述信號量ID對應的信號量的值;
當所述信號量ID對應的信號量的值大于0時,將該信號量的值減1,并生成包含信號量分配成功的IPC應答消息,返回給所述用于嘗試獲取信號量的接口函數;
當所述信號量ID對應的信號量的值小于或等于0時,生成包含信號量分配失敗的IPC應答消息,返回給所述用于嘗試獲取信號量的接口函數。
4.如權利要求1所述的方法,其特征在于:
當所述消息類型為等待信號量時;所述被調用的接口函數為用于等待信號量的接口函數;所述IPC消息還包括信號量ID、所述用戶線程對應的超時時間timeout、所述用戶線程的ID;
所述消息類型對應的處理函數為用于等待信號量的處理函數;所述被調用的處理函數執行相應的信號量處理功能后,根據處理結果構建IPC應答消息返回給所述被調用的信號量接口函數包括:
從所述IPC消息中解析出信號量ID、所述用戶線程對應的超時時間timeout、所述用戶線程的ID;
檢查所述信號量ID對應的信號量的值;
當信號量的值大于0時,將該信號量的值減1,生成包括信號量ID和等待成功的IPC應答消息,返回給所述用于等待信號量的接口函數以喚醒所述用戶線程;
當信號量的值小于或等于0時,記錄等待該信號量的用戶線程的ID和timeout;
每當發生定時器事件時,根據所述timeout判斷所述用戶線程是否超時,如果超時則生成包括等待失敗的IPC應答消息,返回給所述用于等待信號量的接口函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京和利時系統工程有限公司,未經北京和利時系統工程有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011471392.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于Actor模型的任務調度方法、裝置
- 下一篇:土家糍粑及其制備方法





