基于无锁队列的高并发处理架构

      众多周知,对于多线程访问同一段内存,无疑是要加上锁来控制,但是如果面对更高需求的并发 ,锁就成了并发量增加的瓶颈,下面这个图简单的实现了一种无锁任务处理系统,

首先解释使用的模式

     单生产                         ----------> 队列           ---------->           多线程,但单消费者


如以下图示:(手绘图,比较懒,懒得用visol)

  



,receiver相当于从各个线程收的数据,其实是多个线程收的,但是 最终通过一个单线程将各个线程上收的数据汇总按 自生成ID,汇总并分成10个内存池

task1_pool---------task10_pool ,然后对每一个pool启动一个线程去取,这样push和pop对于每一个taskpool都相当于单线程存和单线程取因此,不加锁就可以,

增加了并发量。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值