[发明专利]一种高并发场景下的多线程CAS操作管理方法及系统在审
| 申请号: | 202211519879.1 | 申请日: | 2022-11-30 |
| 公开(公告)号: | CN115756863A | 公开(公告)日: | 2023-03-07 |
| 发明(设计)人: | 张凯 | 申请(专利权)人: | 天翼电子商务有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100000 北京市西*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 并发 场景 多线程 cas 操作 管理 方法 系统 | ||
1.一种高并发场景下的多线程CAS操作管理方法,其特征在于,包括:
基于线程的CAS操作判断多个线程之间是否存在资源竞争;
若存在,则构建全局的多线程槽位数组;
将进行CAS操作的多个线程加入所述多线程槽位数组,并将每个线程的CAS操作记录到各自的槽位中;
基于所述多线程槽位数组管理多个线程的CAS操作。
2.如权利要求1所述的一种高并发场景下的多线程CAS操作管理方法,其特征在于,所述将进行CAS操作的多个线程加入所述多线程槽位数组的步骤具体包括:
通过HASH计算每个进行CAS操作的线程的槽位序列;
基于所述槽位序列,在所述多线程槽位数组中为每个进行CAS操作的线程分配槽位。
3.如权利要求2所述的一种高并发场景下的多线程CAS操作管理方法,其特征在于,所述多线程槽位数组支持动态扩展容量。
4.如权利要求3所述的一种高并发场景下的多线程CAS操作管理方法,其特征在于,所述基于所述多线程槽位数组管理多个线程的CAS操作的步骤具体包括:
若有增量线程与已加入所述多线程槽位数组的线程竞争同一个槽位,则按预设的扩容规则动态扩展所述多线程槽位数组的容量;
为所述增量线程分配槽位,并记录增量线程的增量CAS操作到自己的槽位中。
5.如权利要求4所述的一种高并发场景下的多线程CAS操作管理方法,其特征在于,所述基于所述多线程槽位数组管理多个线程的CAS操作的步骤具体还包括:
读取所述多线程槽位数组中各线程槽位的CAS操作记录;
根据数据的一致性需求,将各线程槽位的CAS操作记录进行累计计算,并输出给预设的全局BASE变量中。
6.如权利要求5所述的一种高并发场景下的多线程CAS操作管理方法,其特征在于,在所述基于所述多线程槽位数组管理多个线程的CAS操作的步骤之后,所述方法还包括:
若多个线程之间不存在资源竞争,则直接根据各个线程的CAS操作更新预设的全局BASE变量。
7.一种高并发场景下的多线程CAS操作管理系统,其特征在于,包括:
判断模块,用于基于线程的CAS操作判断多个线程之间是否存在资源竞争;
构建模块,用于若存在,则构建全局的多线程槽位数组;
加入和记录模块,用于将进行CAS操作的多个线程加入所述多线程槽位数组,并将每个线程的CAS操作记录到各自的槽位中;
管理模块,用于基于所述多线程槽位数组管理多个线程的CAS操作。
8.如权利要求7所述的一种高并发场景下的多线程CAS操作管理系统,其特征在于,所述加入和记录模块具体包括:
计算子模块,用于通过HASH计算每个进行CAS操作的线程的槽位序列;
分配子模块,用于基于所述槽位序列,在所述多线程槽位数组中为每个进行CAS操作的线程分配槽位。
9.一种电子设备,其特征在于,包括至少一个处理器、至少一个存储器和数据总线;其中:所述处理器与所述存储器通过所述数据总线完成相互间的通信;所述存储器存储有被所述处理器执行的程序指令,所述处理器调用所述程序指令以执行如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼电子商务有限公司,未经天翼电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211519879.1/1.html,转载请声明来源钻瓜专利网。





