【技术实现步骤摘要】
自旋锁的获取方法、装置、设备及存储介质
[0001]本专利技术实施例涉及资源共享
,尤其涉及一种自旋锁的获取方法、装置、设备及存储介质。
技术介绍
[0002]随着多核技术的发展,越来越多的计算机设备使用多核处理器,然而多核硬件的发展引入了新的同步问题,为了解决多核的同步问题,保证共享资源访问的正确性,引入了自旋锁(如:自旋锁或者互斥锁)技术。
[0003]现有的自旋锁在实现过程中会引起处理器间频繁的进行缓存同步,频繁的缓存同步操作会导致繁重的系统总线和内存的流量,从而大大降低了系统整体的性能。
技术实现思路
[0004]本专利技术实施例提供一种自旋锁的获取方法、装置、设备及存储介质,极大地减少了不必要的处理器缓存同步的次数,降低了总线和内存的开销,提高了自旋锁的性能,也极大提高了内核的性能。
[0005]第一方面,本专利技术实施例提供了一种自旋锁的获取方法,包括:当前处理器申请自旋锁时,所述处理器获取预先分配的本地锁结构;所述本地锁结构包括本地自旋变量;所述处理器获取自旋锁的占用状态, ...
【技术保护点】
【技术特征摘要】
1.一种自旋锁的获取方法,其特征在于,包括:当前处理器申请自旋锁时,所述处理器获取预先分配的本地锁结构;所述本地锁结构包括本地自旋变量;所述处理器获取自旋锁的占用状态,若未被占用,则直接获取自旋锁;否则,配置所述本地自旋变量为第一值,并将本处理器挂接到自旋锁申请链末端的处理器上,自旋等待所述本地自旋变量为第二值时,获取自旋锁。2.根据权利要求1所述的方法,其特征在于,所述本地锁结构还包括:指向下一自旋锁申请处理器的节点指向变量;所述将本处理器挂接到自旋锁申请链末端的处理器上,包括:将自旋锁申请链末端的处理器的节点指向变量指向所述当前处理器;其中当前处理器更新为自旋锁申请链末端处理器。3.根据权利要求1所述的方法,其特征在于,在所述处理器获取预先分配的本地锁结构后,还包括:将本地锁结构中的节点指向变量设为空。4.根据权利要求2所述的方法,其特征在于,所述处理器获取自旋锁的占用状态,包括:所述处理器获取自旋锁数据结构;其中,所述自旋锁数据结构为指向所述自旋锁申请链末端处理器的指向变量;若所述自旋锁数据结构为空,则所述自旋锁未被占用;若所述自旋锁数据结构为非空,则所述自旋锁被占用。5.根据权利要求4所述的方法,其特征在于,直接获取自旋锁,还包括:在所述处理器直接获取自旋锁时,配置所述自旋锁数据结构指向所述处理器。6.根据权利要求4所述的方法,其特征在于,还包括:当前处理器释放所述自旋锁时,判断所述...
【专利技术属性】
技术研发人员:彭元志,
申请(专利权)人:科东广州软件科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。