disruptor的使用 一、消费者读取数据步骤 注册消费者,此时每个消费者会返回一个可读的消费者索引index_for_customer_use; 使用index_for_customer_use在共享内存环形队列上等待,直到该索引位置可读,将会返回一个新的索引cursor,此时[index_for_customer_use,cursor]的数据都是可读的; 通过GetData(index)获
01 disruptor实现原理 disruptor是一种基于共享内存的进程间通信方式;接下来我们对该开源代码进行解读 环形队列设计原理 使用环形队列,实际上就是在堆上申请的一个大小为cap的数组,要求队列大小为2的N次方,为了满足位运算,快速计算出索引index(比取模的速度快)。对该数组的访问将由2个索引进行(cursor:消费者目前所在的索引位置,next:生产者目前所在的索引位置)前者表示
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号