ringbuffer的特别之处

ringbuffer的特别之处
ringbuffer到底是什么?

嗯,正如名字所说的一样,它是一个环(首尾相接的环),你可以把它用做在不同上下文(线程)间传递数据的buffer。

我们实现的ring buffer和大家常用的队列之间的区别是,我们不删除buffer中的数据,也就是说这些数据一直存放在buffer中,直到新的数据覆盖他们。这就是和*版本相比,我们不需要尾指针的原因。ringbuffer本身并不控制是否需要重叠(决定是否重叠是生产者-消费者行为模式的一部分–如果你等不急我写blog来说明它们,那么可以自行检出Disruptor项目)。

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
VUD5Mzi3VzTcpeQ749OmOg==