一种多线程同步并发的方法及系统技术方案

技术编号:26845233 阅读:27 留言:0更新日期:2020-12-25 13:06
本发明专利技术公开了一种多线程同步并发的方法及系统,包括:生成多个初级锁和一个终极锁,所述初级锁与终极锁形成两级锁机制;根据所述初级锁的数量对并发线程进行分组;各分组内的各线程申请对应初级锁,其中一个线程获得到初级锁;各分组内获得到初级锁的线程申请终极锁,其中一个线程获得到终极锁;获得到终极锁的线程进入工作。本发明专利技术结合了互斥锁与信号量的优点,在多线程高并发时保证每个申请锁的线程机会均等以及提高了线程的并发能力。

【技术实现步骤摘要】
一种多线程同步并发的方法及系统
本专利技术涉及多线程处理
,具体涉及一种多线程同步并发的方法及系统。
技术介绍
在多线程并发时,为了实现多线程间的同步,需要用到锁技术,常用的锁技术有自旋锁、互斥锁、信号量。常用的锁技术存在的缺点为:自旋锁对CPU耗费较高。互斥锁可以解决线程间同步问题,但互斥锁在多线程高并发时无法保证在每个申请锁的线程机会均等,会出现某个线程持续等待锁的现象。信号量可以保证线程获取锁的顺序,即优先申请锁的线程会优先获取锁,但在高并发时会导致并发性能急剧下降。
技术实现思路
针对现有技术中存在的上述问题,本专利技术提供一种多线程同步并发的方法及系统。本专利技术公开了一种多线程同步并发的方法,包括:生成多个初级锁和一个终极锁,所述初级锁与终极锁形成两级锁机制;根据所述初级锁的数量对并发线程进行分组;各分组内的各线程申请对应初级锁,其中一个线程获得到初级锁;各分组内获得到初级锁的线程申请终极锁,其中一个线程获得到终极锁;获得到终极本文档来自技高网...

【技术保护点】
1.一种多线程同步并发的方法,其特征在于,包括:/n生成多个初级锁和一个终极锁,所述初级锁与终极锁形成两级锁机制;/n根据所述初级锁的数量对并发线程进行分组;/n各分组内的各线程申请对应初级锁,其中一个线程获得到初级锁;/n各分组内获得到初级锁的线程申请终极锁,其中一个线程获得到终极锁;/n获得到终极锁的线程进入工作。/n

【技术特征摘要】
1.一种多线程同步并发的方法,其特征在于,包括:
生成多个初级锁和一个终极锁,所述初级锁与终极锁形成两级锁机制;
根据所述初级锁的数量对并发线程进行分组;
各分组内的各线程申请对应初级锁,其中一个线程获得到初级锁;
各分组内获得到初级锁的线程申请终极锁,其中一个线程获得到终极锁;
获得到终极锁的线程进入工作。


2.如权利要求1所述的方法,其特征在于,所述并发线程的数量大于所述初级锁的数量。


3.如权利要求1所述的方法,其特征在于,所述根据所述初级锁的数量对并发线程进行分组,包括:
获得初级锁数量;
根据并发线程的线程号对初级锁数量进行取模得到锁号;
同一锁号的线程为一组。


4.一种多线程同...

【专利技术属性】
技术研发人员:张志永
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1