[发明专利]分散式重锁降级有效
申请号: | 201910050640.6 | 申请日: | 2019-01-20 |
公开(公告)号: | CN111459462B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 杨启彬;秦巍;张斌;赵俊民;朱金鹏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F9/52 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分散 式重锁 降级 | ||
1.一种锁操作方法,所述锁操作方法运行在电子设备上,所述电子设备上布置有第一对象,所述第一对象是一段代码,所述电子设备上布置有至少一个应用程序,所述至少一个应用程序具有第一线程,所述第一线程持有所述第一对象的锁,所述锁包括记录锁的状态的锁字,所述锁操作方法包括在不暂停所述第一线程的条件下执行:步骤1,检查所述第一对象的锁的状态;步骤2,在所述第一对象的锁是重锁的条件下,判断是否有其他线程在等候所述第一对象的锁;步骤3,在步骤2中判断为无其他线程在等候所述第一对象的锁的条件下,将所述第一对象的锁降级。
2.根据权利要求1所述的锁操作方法,其特征在于,将所述第一对象的锁降级包括将所述第一对象的锁转换为轻锁和转换为无锁。
3.根据权利要求1至2中任一项所述的锁操作方法,其特征在于,所述步骤1、所述步骤2和所述步骤3是在MonitorExit模块中执行的。
4.根据权利要求1所述的锁操作方法,其特征在于,所述步骤3中判断无其他线程在等候所述第一对象的锁的条件是没有其他线程已经在所述第一对象的锁上被阻塞或者调用了java方法wait或sleep。
5.根据权利要求1所述的锁操作方法,其特征在于,所述锁操作方法还包括在MonitorEnter模块中执行:步骤4,判断所述第一对象的锁的状态;步骤5,在所述步骤4中判断所述锁的状态是重锁的条件下,检查所述锁的状态;步骤6,在所述步骤5中判断所述锁已经被降级为无锁的条件下,使所述第一线程针对所述第一对象的锁走无锁流程;步骤7,在所述步骤5中判断所述锁未被降级为无锁的条件下,将重锁冲突标志加1;步骤8,在所述步骤7中将所述重锁冲突标志加1的条件下,将所述第一线程阻塞;步骤9,在所述第一线程获得所述第一对象的锁的条件下,将所述重锁冲突标志减1。
6.根据权利要求1所述的锁操作方法,其特征在于,所述锁操作方法还包括:在所述步骤2中还检查所述第一对象锁的锁字是否为哈希码;在所述步骤3中,在所述步骤2判断为无其他线程在等候所述第一对象的锁且所述锁字不是哈希码的条件下,检查所述重锁冲突标志是否为0,在为0的条件下,将所述第一对象的锁降级为无锁。
7.一种锁操作方法,该锁操作方法运行在电子设备上,所述电子设备上布置有第一对象,所述第一对象是一段代码,所述电子设备上布置有至少一个应用程序,所述至少一个应用程序具有第一线程,所述第一线程持有所述第一对象的锁,所述锁包括记录锁的状态的锁字,所述锁操作方法包括在不暂停所述第一线程的条件下执行:步骤1,检查重入次数是否为0;步骤2,在所述步骤1中判断所述重入次数为0的条件下,在重锁冲突标志为0的条件下将所述第一对象的锁降级为无锁;步骤3,在所述步骤1中判断所述重入次数不为0的条件下,在所述重锁冲突标志为0的条件下将所述第一对象的锁降级为轻锁。
8.根据权利要求7所述的锁操作方法,其特征在于,将所述第一对象的锁降级包括将所述第一对象的锁转换为轻锁和转换为无锁。
9.根据权利要求7至8中任一项所述的锁操作方法,其特征在于,所述步骤1、所述步骤2和所述步骤3是在MonitorExit模块中执行的。
10.根据权利要求7至8中任一项所述的锁操作方法,其特征在于,所述锁操作方法还包括在MonitorEnter模块中执行:步骤4,判断所述第一对象的锁的状态;步骤5,在所述步骤4中判断所述锁的状态是重锁的条件下,检查所述锁的状态;步骤6,在所述步骤5中判断所述锁已经被降级的条件下,重新获得锁状态;步骤7,在所述步骤5中判断锁未被降级的条件下,将重锁冲突标志加1;步骤8,在步骤7中将所述重锁冲突标志加1的条件下,将所述第一线程阻塞;步骤9,在所述第一线程获得所述第一对象的锁的条件下,将所述重锁冲突标志减1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910050640.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种抗菌亲水纳米纤维膜及其制备方法
- 下一篇:一种包含封堵颗粒组合物的钻井液