1. 阿里云>
  2. 云栖社区>
  3. 主题地图>
  4. H>
  5. 环形无锁队列

当前主题:环形无锁队列

环形无锁队列相关的博客

查看更多 写博客

无锁队列的实现

原文:http://coolshell.cn/articles/8239.html推荐阅读: 深入多线程编程(http://blog.chinaunix.net/uid-20682147-id-3160080.html) 关于无锁队列的实现,网

阅读全文

在一读一写限制下,无锁环形队列的实现

环形一读一写队列中,不需要担心unsigned long溢出问题,因为溢出后自动回归,相减值还会保留。 示例一(注:Max_Count 必须为 2 的指数,即:2, 4, 8, 16...): // 队列尺寸 #define Max_Count 4096 #d

阅读全文

如何让glog性能提高10倍

背景 最近在给glog做性能优化, 使用c++版本 glog-0.3.4做压测,测试数据总量为1.5g, 起12个线程循环写133个字节的日志条目,测试结果耗时175s,每秒大约8-9MB的吞吐量。 在此测试基础上,我对glog进行了一系列的性能优化,优化后

阅读全文

高效线程池之无锁化实现(Linux C)

笔者之前照着通用写法练手写过一个小的线程池版本,最近几天复习了一下,发现大多数线程池实现都离不开锁的使用,如互斥量pthread_mutex*结合条件变量pthread_cond*。众所周知,锁的使用对于程序性能影响较大,虽然现有的pthread_mutex*

阅读全文

透过 Linux 内核看无锁编程

非阻塞型同步 (Non-blocking Synchronization) 简介 如何正确有效的保护共享数据是编写并行程序必须面临的一个难题,通常的手段就是同步。同步可分为阻塞型同步(Blocking Synchronization)和非阻塞型同步( Non-

阅读全文

透过 Linux 内核看无锁编程

非阻塞型同步 (Non-blocking Synchronization) 简介 如何正确有效的保护共享数据是编写并行程序必须面临的一个难题,通常的手段就是同步。同步可分为阻塞型同步(Blocking Synchronization)和非阻塞型同步( Non-

阅读全文

disruptor流程

这里先不提那些编译器方面的优化。只看一下基于无锁环形队列的生产者消费者模型的工作流程。上一个图先: 当中,buffer是一个数组,用来模拟环形队列。 slowest_reader记录最慢的reader读取数据的位置,主要用来防止写者写得太快而覆盖掉还未被读的

阅读全文

Linux内核中的队列 kfifo【转】

转自:http://airekans.github.io/c/2015/10/12/linux-kernel-data-structure-kfifo#api 在内核中经常会有需要用到队列来传递数据的时候,而在Linux内核中就有一个轻量而且实现非常巧妙的队列

阅读全文