閱讀450 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Disruptor Wizard已死,Disruptor Wizard永存!

Disruptor Wizard(上一篇中提到的DSL組件)目前已經正式並入Disruptor的代碼樹當中。既然.net移植版包含了Wizard風格的語法很久了,並且看起來還挺受歡迎,所以為什麼還要讓人們非得搞兩個jar而不是一個?

我跟隨Disruptor在術語命名上的變動做出了相應的更新。以前的Customer(消費者),現在叫EventProcessor(事件處理器)和 EventHandler(事件句柄)。這樣的命名更好的說明了實際上的情況:消費者事實上可以向事件添加附加值。另 外,ProducerBarrier(生產者屏障)被合並到Ring Buffer一起,並且Ring Buffer Entry(條目)被改名為Event(事件)。新的命名更貼切了,因為實際上圍繞Disruptor的編程模型大部分時候都是基於事件的。

除了以下兩點,Wizard API與以往並沒有太大的不同:

  • consumeWith方法改名為handleEventsWith
  • getProducerBarrier方法被替換成了一個返回值為ring buffer的start方法。這就不會混淆地認為getProducerBarrier方法也被用作觸發事件處理器線程的啟動。

現在的方法命名清楚地表示了該方法的其它作用。


文章轉自 並發編程網-ifeve.com

最後更新:2017-05-23 10:32:07

  上一篇:go  跟著實例學習ZooKeeper的用法: Curator框架應用
  下一篇:go  在寫作中成長