[发明专利]一种数据竞争检测方法及装置有效
| 申请号: | 201910354923.X | 申请日: | 2019-04-29 |
| 公开(公告)号: | CN110083539B | 公开(公告)日: | 2020-11-13 |
| 发明(设计)人: | 陈智颖;余平 | 申请(专利权)人: | 广州华多网络科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
| 地址: | 511442 广东省广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据 竞争 检测 方法 装置 | ||
1.一种数据竞争检测方法,其特征在于,所述方法包括:
基于预先建立的全局映射Map,获取当前所执行的线程的容器类的内置属性,所述容器类的内置属性预先存储于所述全局映射Map中,在所述全局映射Map中,任一容器类对应一内置属性;
判断所述内置属性所对应的值value是否为空,所述值value用于指示所述内置属性所对应的内置线程;
若不为空,判断所述内置属性所对应的内置线程是否与所述当前所执行的线程一致;
若不一致,则确定所述当前所执行的线程的容器类发生数据竞争。
2.根据权利要求1所述的方法,其特征在于,所述容器类的内置属性预先存储于所述全局映射Map中的过程,包括:
创建全局映射Map;
建立对应所述容器类的对象;
将所述对象的地址作为所述容器类对应的键key,将所述对象作为所述容器类的内置属性所对应的值value;
建立所述容器类对应的所述键key和所述值value的对应关系,存储于所述全局映射Map中。
3.根据权利要求1所述的方法,其特征在于,若所述当前所执行的线程为写操作线程,还包括:
若所述内置属性所对应的值value为空,将所述当前所执行的线程作为内置线程存储至所述内置属性中,并执行所述写操作线程。
4.根据权利要求1所述的方法,其特征在于,若所述当前所执行的线程为写操作线程,还包括:
若所述内置属性所对应内置的线程与所述当前所执行的线程一致,执行所述写操作线程。
5.根据权利要求1所述的方法,其特征在于,若所述当前所执行的线程为读操作线程,还包括:
若所述内置属性所对应内置的线程与所述当前所执行的线程一致,执行所述读操作线程。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在确定所述当前所执行的线程的容器类发生数据竞争之后,还包括:
为发生数据竞争的所述容器类添加互斥锁。
7.一种数据竞争检测装置,其特征在于,包括:
获取单元,用于基于预先建立的全局映射Map,获取当前所执行的线程的容器类的内置属性,所述容器类的内置属性预先存储于所述全局映射Map中,在所述全局映射Map中,任一容器类对应一内置属性;
第一判断单元,用于判断所述内置属性所对应的值value是否为空,所述值value用于指示所述内置属性所对应的内置线程;
第二判断单元,用于判断所述内置属性所对应的内置线程是否与所述当前所执行的线程一致;
确定单元,用于确定所述当前所执行的线程的容器类发生数据竞争。
8.根据权利要求7所述的装置,其特征在于,还包括:
存储单元,用于当所述当前所执行的线程为写操作线程时,若所述内置属性所对应的值value为空,将所述当前所执行的线程作为内置线程存储至所述内置属性中,并执行所述写操作线程。
9.一种电子设备,其特征在于,所述电子设备用于运行程序,其中,所述程序运行时执行如权利要求1-6中任一项所述的数据竞争检测方法。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-6中任一项所述的数据竞争检测方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华多网络科技有限公司,未经广州华多网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910354923.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种并发程序噪声注入方法
- 下一篇:接口测试方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





