原文地址: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) 遞增。
Disruptor RingBuffer 理解
?著作權(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ù)。
【社區(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)容
- Disruptor提供了一種線程之間信息交換的方式。 鎖的缺點(diǎn) 并發(fā)的問題 想象有兩個(gè)線程嘗試修改同一個(gè)變量val...
- https://juejin.im/post/5b5f10d65188251ad06b78e3 你應(yīng)該知道的高性能...
- 轉(zhuǎn)載自https://tech.meituan.com/disruptor.html Disruptor是英國外匯...
- 開篇 ?Disruptor是英國外匯交易公司LMAX開發(fā)的一個(gè)高性能隊(duì)列,研發(fā)的初衷是解決內(nèi)存隊(duì)列的延遲問題。與K...
- 今早發(fā)這張圖,朋友圈又炸了。倒不是我做的這道甜品,有多么貌美驚人,關(guān)鍵是我后附有一條留言:簡(jiǎn)單易做,管會(huì)。管會(huì)?!...