ringbuffer到底是什么?
嗯,正如名字所说的一样,它是一个环(首尾相接的环),你可以把它用做在不同上下文(线程)间传递数据的buffer。
我们实现的ring buffer和大家常用的队列之间的区别是,我们不删除buffer中的数据,也就是说这些数据一直存放在buffer中,直到新的数据覆盖他们。这就是和维基百科版本相比,我们不需要尾指针的原因。ringbuffer本身并不控制是否需要重叠(决定是否重叠是生产者-消费者行为模式的一部分–如果你等不急我写blog来说明它们,那么可以自行检出 Disruptor项目 )。
U2FsdGVkX18O8kJR0VGY29PGTR5JPWKvWXVjwRPGpWQQBN77Pz9rmSo1/gSjBO8X
MXHYudoxWek3NILQmugH2kgbuTxbmtAwnlfuaqVMCmCtqeYdrXY5Di4esGYTidVH
Qw46EEeHDmdGB1ikLfa72xxC+h7KnHN6t8++b3UE+8CXA+P3ZPmkFkYe7mn0g5Sm
i3jpN0YpDmEi5t1+G1zZsVZX1Gw3N0cG2XaX10anzt5Vp4NBRehvR0jHX+IWOMV4
2haFi9cXW4rUXRFgmoFblaT/IruLtY+Y9LjoXgvWGN2E