【技术实现步骤摘要】
本申请涉及计算机,具体涉及计算机,尤其涉及一种基于协程的加锁方法和装置。
技术介绍
1、互斥锁(mutual exclusion,linux的实现称为“mutex”),在用户态线程/进程之间进行互斥时,对于无法获得运行权利的线程/进程,需要通过一定程度的延迟等待获得权利的机会。而这个延迟有两种形式,即自旋(spin)等待和挂起(让出cpu,切换其他线程/进程)等待。
2、现有技术中,mutex技术,主要有以下两个方面的问题:1)锁等待(sys_futex系统调用)或者在spin loop阶段产生的线程切换,都需要进行用户态和内核态之间的切换,线程切换代价高;2)在用户态程序处于spin loop状态时,即便被中断(包括定时器中断)处理、信号处理等操作打断,切换至优先级更高或更有机会获得锁权利的线程,中断的实时性仍然较差。
技术实现思路
1、本申请实施例提供了一种基于协程的加锁方法、装置、设备以及存储介质。
2、根据第一方面,本申请实施例提供了一种基于协程的加锁方法,
...【技术保护点】
1.一种基于协程的加锁方法,所述方法包括:
2.根据权利要求1所述的方法,其中,所述对任务队列中的至少一个协程执行尝试加锁操作,包括:
3.根据权利要求2所述的方法,其中,所述调用任务队列中的至少一个协程对应的加锁助手模块,包括:
4.根据权利要求3所述的方法,其中,所述调度模式包括优先级队列,以及所述方法还包括:
5.根据权利要求3所述的方法,其中,所述调度模式包括优先级队列,以及所述方法还包括:
6.根据权利要求3所述的方法,其中,所述调度模式包括优先级队列,以及所述方法还包括:
7.根据权利
...【技术特征摘要】
1.一种基于协程的加锁方法,所述方法包括:
2.根据权利要求1所述的方法,其中,所述对任务队列中的至少一个协程执行尝试加锁操作,包括:
3.根据权利要求2所述的方法,其中,所述调用任务队列中的至少一个协程对应的加锁助手模块,包括:
4.根据权利要求3所述的方法,其中,所述调度模式包括优先级队列,以及所述方法还包括:
5.根据权利要求3所述的方法,其中,所述调度模式包括优先级队列,以及所述方法还包括:
6.根据权利要求3所述的方法,其中,所述调度模式包括优先级队列...
【专利技术属性】
技术研发人员:孟祥滨,张小鹏,刘珊,
申请(专利权)人:京东科技信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。