我是Disruptor的新手。我有以下兩個查詢:LMAX的Disruptor如何與共享變量的多個生產者一起工作?
Q1。我得到了一個示例代碼one producer to one consumer和one producer to multiple dependent consumers,
我喜歡得到一個示例代碼爲多個生產者多個消費者或序列:3P - 1C。你可以請參考任何博客或代碼示例給我? Q2302。這是一個關於多生產者環境中的通用問題,一個生產者結果將如何與之前生產者在環形緩衝區中的結果相關聯。
例如:是干擾器可以在一個單一的文件/變量得到由多個生產商更新了環境中使用。即有兩個生成器(P1,P2),它們正在更新單個共享變量(命名爲「count」)(這裏的count是ValueEvent類中的一個實例變量)
最初「count」值爲0。
生產者P1將加1與「計數」當前值。因此,在生產者P1處理之後,計數值將爲(0 + 1)= 1.
生產者P2將加上「計數」當前值2,所以在生產者P2處理之後,計數值將是1 + 2)= 3
基本上,P2需要讀取從環形緩衝器更新的「計數」值(由P1完成)並添加增加的值(2)。
我們如何保持生產的執行順序?(P2永遠P1執行後執行。)
在消費者方面,消費者(C1,C2)將讀取「計數」值順序( 1,3,。。。)。這是可以的,就像在環形緩衝區中一樣,每個消費者只會按順序讀取環形緩衝區值。
感謝, 杜。