[发明专利]一种防止多线程死锁的方法及装置有效
申请号: | 201710173205.3 | 申请日: | 2017-03-22 |
公开(公告)号: | CN106959900B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种防止多线程死锁的方法及装置,涉及通信领域。所述方法包括:当SDK接口在主线程状态时,申请全局互斥量的锁定权并判断是否申请成功,是则通过目标设备的写特征将报文发送给目标设备;创建辅助线程来通过目标设备的读特征接收目标设备返回的响应数据,当响应数据全部接收完成时,释放全局互斥量的锁定权;当SDK接口在子线程状态时,申请全局互斥量的锁定权,通过目标设备的写特征将报文发送给目标设备,通过目标设备的读特征接收目标设备返回的响应数据;当响应数据接收完成时,释放全局互斥量的锁定权。本发明的技术方案,在多线程同步运行的环境中,可以使各线程有效运行而不进入死锁,保障了线程安全。 | ||
搜索关键词: | 一种 防止 多线程 死锁 方法 装置 | ||
【主权项】:
一种防止多线程死锁的方法,其特征在于,包括:当SDK接口在主线程状态时,执行以下操作:步骤S1:申请全局互斥量的锁定权,判断是否申请成功,是则执行步骤S2,否则等待第一预设时间间隔后继续执行步骤S1;步骤S2:判断目标设备是否已连接,是则执行步骤S3;否则连接所述目标设备,并获取所述目标设备的写特征和读特征,执行步骤S3;步骤S3:创建辅助线程;步骤S4:通过所述写特征将报文发送给所述目标设备;步骤S5:判断所述目标设备返回的响应数据是否接收完成,是则执行步骤S6,否则等待第二预设时间间隔后,继续执行步骤S5;步骤S6:释放所述全局互斥量的锁定权,返回所述响应数据,结束;所述方法还包括:所述辅助线程通过所述读特征接收所述目标设备返回的响应数据;当所述SDK接口在子线程状态时,执行以下操作:步骤S7:申请全局互斥量的锁定权;步骤S8:判断目标设备是否已连接,是则执行步骤S9;否则连接所述目标设备,并获取所述目标设备的读特征和写特征,执行步骤S9;步骤S9:通过所述读特征接收所述目标设备返回的响应数据;步骤S10:通过所述写特征将报文发送给所述目标设备;步骤S11:判断响应数据是否接收完成,是则执行步骤S12,否则等待第二预设时间间隔后,继续执行步骤S11;步骤S12:释放所述全局互斥量的锁定权,返回所述响应数据,结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710173205.3/,转载请声明来源钻瓜专利网。