ringbuffer到底是什么?
嗯,正如名字所说的一样,它是一个环(首尾相接的环),你可以把它用做在不同上下文(线程)间传递数据的buffer。
我们实现的ring buffer和大家常用的队列之间的区别是,我们不删除buffer中的数据,也就是说这些数据一直存放在buffer中,直到新的数据覆盖他们。这就是和维基百科版本相比,我们不需要尾指针的原因。ringbuffer本身并不控制是否需要重叠(决定是否重叠是生产者-消费者行为模式的一部分–如果你等不急我写blog来说明它们,那么可以自行检出 Disruptor项目 )。
U2FsdGVkX18O8kJR0VGY29PGTR5JPWKvWXVjwRPGpWQQBN77Pz9rmSo1/gSjBO8X
MXHYudoxWek3NILQmugH2kgbuTxbmtAwnlfuaqVMCmCtqeYdrXY5Di4esGYTidVH
Qw46EEeHDmdGB1ikLfa72xxC+h7KnHN6t8++b3UE+8CXA+P3ZPmkFkYe7mn0g5Sm
i3jpN0YpDmEi5t1+G1zZsVZX1Gw3N0cG2XaX10anzt5Vp4NBRehvR0jHX+IWOMV4
2haFi9cXW4rUXRFgmoFblaT/IruLtY+Y9LjoXgvWGN2E1Zz09KGKn+jYBmWedRTT
eHStNAPrRvQ8FLLukMejamgM9WDcEA9/yHy45yOADx5UtfiV6NcHvl7zTgP8Xywn
KY4Rbh6kzcbkrHgFBOYoC8pv5LzyueXkuVcgwQprAC+WWAuo1xSNjWeYzIOJcmVt
l5UTaKtoVJdgbYVzAOw5cpZr0CioI7w9EVDinoZ4BkSlVIBtfXTSDdtiPUuWOdOz
pWrM6dUuXoVekfnaD7CYPpaDTPGTyFSPbKVnQlFKkh050K1mX3JgGSaD6I5qexmo
Jm3a9LWYIE2jE/wO9isU8q+7TNYZonXUbXxQGhmLYJwZ7FRedGmsPBBp0dNLKvTi
bFMCiv1xuOcvXf0TLGNLEg1UEY5rWtue90xom6qya9anqWpSi7Cy4SmPuJvBi6PR
M4ZHgZ3TlOT06kA1rvKCoGu+2OCLnHDdNKJGtdeHlwEz0SylYSe97yA2cDIOlmj6
WbdwayKPsrk2ZdGscFfSq+JwdTMZEEWfG4TuhZmbz6JGTMKbBCqPPV/RXSeJbByo
iCFD45g3bcXztFgKPAyabXbOSAWHRMvUNPHVPkeXtSYuLLbCIRUF3NUiQXKZhdr1
Pvr0jloCyu/VRt4Rla6rtHjFtFtd6ybBT6KMjZP7szA6JpplAeL1sxx+Fdz9E8mp
hl9A44bxnbgm2N9LWOqhQ+PP+bIo7ArQcivOJ8EmQc9dOkeQpf40ia7JOUTFfB75
583IDQr5FFf+yu7z+JjCBiweXH00x+emQvYASXaBPoJGaeRda3aLbXoasvfmJrsn
9+pYh1FqWcoqhokl30vm3AUSEumJj3GqGaBfKoDIt7lW3o96ZKsdUDOPzbe2iBJB
GtvjhGY6Ewn/HtFQ8QLOVBjh5lkTpbPIr443UWkAWLJVnERYmk3O17vusPKHcCi8
5shDYGzoHdUoEg3AOd8DpkT9iw8AqcaSQ6mXXfbqlZG+BnX/rAMv8WlhPAkmIIY3
LaGDyjZ4RtfQWsulndXUo4tZ+gedO0/oPUtsI6az4YAAavCOLEmYWzMh31eNi64a
ZidDXwCVbULcLPm3Z37bt/B+txJ/yHJWCuW9od3O6xntYNYCe6i9Z2JdYwT2dgPs
WnOqVRxa5t8aXS4TL4b1xaFQJKPMLKdq9VfHVzFlWOJmStmUShhWRl2VfdF3FcVa
YnGNJn08WY1fv6Vv8JJjf3HL/VyiDjd9CkfNxwRBIIe6Z1kgXooh0DIS/uF4qYlZ
UdpXek3y9PVa07jAgCyNOUsd6yx8kUcSEqHRYx0/LQka+Wq2qy4gA2cVCJ1AczOV
EiiyJQFhC+EeMUfVbxDZqx0zhz48BMerRzJy1S7e405mcHBBUzzCh9EpT/i5y8+6
mTY3cxUcLhHL3I464iNp2SkbEZfp0sVCLHxiUEhDjl5fJPz7CsCcbZjo4Y0W1akj
F6xRzKr5KGVRx66JV3ib5yC+IbY36mYDHuK4XnMgvrEmApZOi/58FfLtWHNowao1
t965Wm44BHKArjk1aQ1yDvJrAyd8ZKZV3JiO14iyJSNZzmoyzjfC0cWGsIkxQvyf
2G8ZzmB1m7Mt+YaZHDLfi7Dk3O0rpYwb5SuuAlz4bsBHrCcvzyLeqP/5Qox9rVM4
mD7Qr986kaYW8UdQn/kACgE7cirk9arx/HFXs5KcRIV+cGn5XFSntLdIKGgh7lrC
bdDSKnEAS2AlU6M5MrHxGLRXh1+wIWQVJ9IwQvbrrOBCEu6V5ha25Ewp1oIcQOCX
1DWHCxt8iB9+Nm30KJ/mZKUkCgex6uo3+tfTTx+vsc0rXFQDFOJgFbd/7S3+VI8f
yb7QHhGdV0XqAOFXPUvdeABReuO3mOvtRC9ZG9Wor40osxh4+W+qUrKYyvSCiXtw
IwIP5T1By3fSatD+qxac9EK8FjA3lAGxaS4lEudS8IcmvlR70qQC4mToWuVd0SXV
Zo/p9/whvx1Y3OCBIQemEhY0xm3lOkwfDMbzgUvqlSiPTFsUrONcpR7Xcau7zFCv
Zn9VA+bur3siXlaKS4Biiq6U8fJ0sRP53ILDGzqGHO1YGJQYQ4JppevLqNA4xpCC
NZMeEVFL5gI1wxglH7FJAskp2uTcFndtRBw7kn1UsSXnV3Abfxz/jUIY6NAG9rax
LWqZlOjZDbxNlvatr+66oBlV/WZJhIKclLGx4oJIIi0GYE8/hDNnr3Nk4Lt+HSCU
SAv3tU3xVLysob2bX/5onazAE7k8PVdtc+9a5/79Vs1zc1j/ZusMjGctbIBmWO/k
7mZB2u9HLzjhveBlZIXImH05xFSSEHqF8/2sf8Az+7Bx4n0Mvupo0ifDzLrApgJa
PsS6jZr3G9EhT+kGQ0pETNO+qNmWDKERJ2lFhz89tCXhM7p0sttxwkc7o5PeVsKL
5tZBpYpVzDJy4IJTksIpS5kBXaXn5eAUSnDxpYbDlH09VMJu2/NwnAY2jf6sWMSB
2fvlLbQ/ixW1wrNYMuya/sR83A0PnS9FFfYlbfzlrc5YR1kRLY+zgcR28Upn3345
+9ArokdYn3mxNP6ueKflyEbEkdOtUu+uHlpB6YNW854Ip+HuxgUAcW6eDYGo5C1k
zDOeSje1mcaViRJS/BhYwskCt1wEb+z55/jKRDInxgc=