Disruptor RingBuffer 理解

原文地址:http://ifeve.com/disruptor/
1、RingBuffer 是一個(gè)環(huán)形結(jié)構(gòu)
2、RingBuffer 不會(huì)刪除已經(jīng)寫到buffer中的數(shù)據(jù),除非是有新的數(shù)據(jù)覆蓋
3、每個(gè)數(shù)據(jù)寫進(jìn)來 都會(huì)有新的序號(hào)對(duì)應(yīng)新的數(shù)據(jù)
4、讀取RingBuffer 中的數(shù)據(jù),所有消費(fèi)者都可以讀取所有的數(shù)據(jù),按序號(hào)順序讀取
5、寫入RingBuffer
5.1 ProducerBarrier (生產(chǎn)者屏障) 所有生產(chǎn)者與 RingBuffer 的交互都要通過ProducerBarrier
5.2 生產(chǎn)者提交數(shù)據(jù) 會(huì)首先向ProducerBarrier 申請(qǐng)當(dāng)前可寫入的下一個(gè)節(jié)點(diǎn),如果有空余位置 就直接提交數(shù)據(jù),
如果沒有空余位置,ProducerBarrier 自旋 直到消費(fèi)者 消費(fèi)事件 空出多余的位置 才能提交數(shù)據(jù)。
5.3 如果多個(gè) 生產(chǎn)者并發(fā)提交數(shù)據(jù) 由ProducerBarrier 分配提交數(shù)據(jù)的位置序號(hào) 遞增。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容