发明名称 |
实现自适应锁的方法和装置以及多核处理器系统 |
摘要 |
本发明提供了一种实现自适应锁的方法和装置以及多核处理器系统。其中,实现自适应锁的方法,包括:当新的第一线程尝试获得自适应锁时,如果自适应锁空闲,则使第一线程获得自适应锁,否则使第一线程根据竞争自适应锁的激烈程度进入自旋状态或者节能状态;当第一线程处于节能状态,使第一线程等待被唤醒进入自旋状态,或者当第一线程处于自旋状态,使第一线程竞争自适应锁,直到第一线程竞争到自适应锁并对自适应锁保护的共享资源操作完毕,释放自适应锁;当自适应锁被释放时,如果有处于节能状态的线程,则唤醒另一个处于节能状态的线程以使其进入自旋状态,以便与其他处于自旋状态的线程一同竞争自适应锁。 |
申请公布号 |
CN102566979B |
申请公布日期 |
2014.12.03 |
申请号 |
CN201110394780.9 |
申请日期 |
2011.12.02 |
申请人 |
华为技术有限公司;清华大学 |
发明人 |
秦岭;陈渝;崔岩;吴瑾 |
分类号 |
G06F9/38(2006.01)I |
主分类号 |
G06F9/38(2006.01)I |
代理机构 |
北京龙双利达知识产权代理有限公司 11329 |
代理人 |
王君;肖鹂 |
主权项 |
一种实现自适应锁的方法,其特征在于,包括:当新的第一线程尝试获得自适应锁时,如果所述自适应锁空闲,则使所述第一线程获得所述自适应锁,否则使所述第一线程根据竞争所述自适应锁的激烈程度进入自旋状态或者节能状态;当所述第一线程处于节能状态,使所述第一线程等待被唤醒进入自旋状态,或者当所述第一线程处于自旋状态,使所述第一线程竞争所述自适应锁,直到所述第一线程竞争到所述自适应锁并对所述自适应锁保护的共享资源操作完毕,释放所述自适应锁;当所述自适应锁被释放时,如果有处于节能状态的线程,则唤醒另一个处于节能状态的线程以使其进入自旋状态,以便与其他处于自旋状态的线程一同竞争所述自适应锁;其中,所述使所述第一线程竞争所述自适应锁,直到所述第一线程竞争到所述自适应锁并对所述自适应锁保护的共享资源操作完毕,释放所述自适应锁包括:使处于自旋状态的所述第一线程竞争所述自适应锁,直到所述第一线程获得所述自适应锁,递减所述自适应锁的请求者计数器中记录的竞争所述自适应锁的线程数目,在所述第一线程对所述自适应锁保护的共享资源操作完毕后,释放所述自适应锁。 |
地址 |
518129 广东省深圳市龙岗区坂田华为总部办公楼 |