disruptor併發框架 非同步執行緒

2022-09-14 23:15:24 字數 1395 閱讀 3091

disruptor框架:是乙個開源的併發框架、高效能的非同步處理框架、「生產者-消費者設計模式」,其核心是業務核心處理器,可以在乙個執行緒中每秒處理600萬訂單

「生產者-消費者設計模式」:

框架實現主要由以下部分構成

1.建立資料實體類(即對於要實現非同步的方法資料實體類)event

//

1.資料實體類

public

class

longevent

public

void setvalue(long

value)

}

2.事件工廠eventfactory

//

2.建立工廠類(相當於緩衝區),會在disruptor系統初始化時,構造物件例項

public

class longeventfactory implements eventfactory

}

3.消費者,事件處理器(eventhandler和workhandler,兩者區別是將多個eventhandler的實現類傳入,每個消費者都會對同一條訊息進行獨立消費,消費者之間不存在競爭;多個workhandler的實現類傳入

,不會重複消費,即消費者a對訊息a進行消費,消費者b不會在對訊息a進行消費)

//

3.建立消費者類

public

class longworkhandler implements workhandler

}

4.生產者

//

4.建立生產者類

public

class

longeventproducer

//將資料推入到環形緩衝區

public

void ondata(int

i)

finally}}

5.測試

//

5.測試類

public

class

longeventmain

disruptor.shutdown();

//關閉 disruptor,方法會堵塞,直至所有的事件都得到處理;

((executorservice) executor).shutdown();//

關閉 disruptor

//使用的執行緒池;如果需要的話,必須手動關閉,

//disruptor 在 shutdown 時不會自動關閉;

}}

6.結果

併發框架Disruptor

martin fowler在自己 上寫了一篇 lmax架構 的文章,在文章中他介紹了lmax是一種新型零售金融交易平台,它能夠以很低的延遲產生大量交易。這個系統是建立在jvm平台上,其核心是乙個業務邏輯處理器,它能夠在乙個執行緒裡每秒處理6百萬訂單。業務邏輯處理器完全是執行在記憶體中,使用事件源驅動...

併發程式設計 Disruptor併發框架

disruptor是什麼?disruptor是乙個高效能的非同步處理框架,或者可以認為是最快的訊息框架 輕量的jms 也可以認為是乙個觀察者模式的實現,或者事件監聽模式的實現 disruptor入門程式 在disruptor中實現helloworld入門程式的步驟 1.建立乙個event類 資料 2...

併發框架Disruptor譯文

martin fowler在自己 上寫了一篇lmax架構的文章,在文章中他介紹了lmax是一種新型零售金融交易平台,它能夠以很低的延遲產生大量交易。這個系統是建立在jvm平台上,其核心是乙個業務邏輯處理器,它能夠在乙個執行緒裡每秒處理6百萬訂單。業務邏輯處理器完全是執行在記憶體中,使用事件源驅動方式...