[发明专利]多线程访问方法及装置有效
申请号: | 201810326813.8 | 申请日: | 2018-04-12 |
公开(公告)号: | CN108874446B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 杨亮;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种多线程访问方法及装置,该方法包括:响应于线程对函数对象的访问,调用全局临界区对象对全局键值对表进行加锁;获取线程调用所述全局锁加锁时的键值;判定全局键值对表中是否存在与加锁时的键值对应的锁对象,每一锁对象设置有用于记录引用次数的引用计数器;若全局键值对表中不存在对应的锁对象,创建锁对象,为该锁对象生成引用计数器并将该引用计数器的计数值加1,并将该锁对象以及锁对象与指定的键值之间的对应关系添加到全局键值对表;调用全局临界区对象对全局键值对表进行解锁;调用创建的锁对象为线程访问的函数对象进行加锁。本发明解决了利用类成员锁实现线程访问存在的多线程问题,保证了程序的运行稳定性。 | ||
搜索关键词: | 多线程 访问 方法 装置 | ||
【主权项】:
1.一种多线程访问方法,其特征在于,所述方法包括:响应于线程对函数对象的访问,调用全局锁的全局临界区对象对全局键值对表进行加锁,所述全局锁配置在预先创建的全局变量中,所述全局键值对表包括锁对象和与其对应的键值之间的对应关系;获取线程调用所述全局锁加锁时的键值;判定所述全局键值对表中是否存在与加锁时的键值对应的锁对象,所述全局键值对表中的每一锁对象设置有用于记录引用次数的引用计数器;若所述全局键值对表中不存在与加锁时的键值对应的锁对象,则创建新的锁对象,为所述新的锁对象生成引用计数器并将该引用计数器的计数值加1,并将创建的锁对象以及所述锁对象与指定的键值之间的对应关系添加到所述全局键值对表;调用所述全局临界区对象对所述全局键值对表进行解锁;调用创建的新的锁对象为所述线程访问的函数对象进行加锁。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810326813.8/,转载请声明来源钻瓜专利网。