併發程式設計框架篇(四)
一、disruptor框架
1、disruptor礦機在jvm平臺上,其核心是一個業務邏輯處理器,它能夠在一個執行緒裡每秒處理6百萬訂單。業務邏輯處理器完全是在記憶體中,使用事件源驅動方式。業務邏輯處理器的核心是Disruptor。
2、disruptor它是一個開源的併發框架,並獲得2011 Duke’s程式框架創新獎,能夠在無鎖的情況下實現網路的queue併發操作。
3、Disruptor是一個高效能的非同步處理框架,或者可以認為是最快的訊息框架(輕量的JMS),也可以認為是一個觀察者模式的實現,或者事件監聽模式的實現。
生產者--------》disruptor(可以理解為強大高效的佇列)----(主動傳送)---》消費者
也可以把Disruptor理解成一個ArrayBlockingQueue,處理資料要比blockingQueue高一個數據量級10倍。
4、可以簡單的理解為他是一種高效的“生產者-消費者”模型。也就是效能遠遠高於傳統的BlockingQueue容易。
學習參考網站:http://ifeve.com/disruptor-getting-started/
下載disruptor-3.3.2.jar
二、Disruptor 之hello word
第一、建立一個Event類
第二、建立一個工廠Event類,用於建立Event類例項物件
第三、需要有一個監聽事件類,用於處理資料(Event類)
第四、我們需要進行測試程式碼編寫。例項化Disruptor例項,配置一系列引數。然後我們對Disruptor例項繫結監聽事件類,接受處理資料。
第五、在Disruptor中,真正儲存資料的核心叫做RingBuffer,我們通過Disruptor例項拿到它,然後把資料生產出來,把資料加入到RingBuffer的例項物件中即可。
例項程式碼: