併發程式設計框架篇(四)

2021-08-16 20:56:13 字數 896 閱讀 1659

一、disruptor框架

1、disruptor礦機在jvm平台上,其核心是乙個業務邏輯處理器,

它能夠在乙個執行緒裡每秒處理6百萬訂單

。業務邏輯處理器完全是在記憶體中,使用事件源驅動方式。業務邏輯處理器的核心是disruptor。

2、disruptor它是乙個開源的併發框架,並獲得2011 duke』s程式框架創新獎,

能夠在無鎖的情況下實現網路的queue併發操作

。3、disruptor是乙個高效能的非同步處理框架,或者可以認為是最快的訊息框架(輕量的jms),也可以認為是乙個觀察者模式的實現,或者事件監聽模式的實現。

生產者--------》disruptor(可以理解為強大高效的佇列)----(主動傳送)---》消費者

也可以把disruptor理解成乙個arrayblockingqueue,處理資料要比blockingqueue高乙個資料量級10倍。

4、可以簡單的理解為他是一種高效的「生產者-消費者」模型。也就是效能遠遠高於傳統的blockingqueue容易。

學習參考**:

二、disruptor 之hello word

第一、建立乙個event類

第二、建立乙個工廠event類,用於建立event類例項物件

第三、需要有乙個監聽事件類,用於處理資料(event類)

第四、我們需要進行測試**編寫。例項化disruptor例項,配置一系列引數。然後我們對disruptor例項繫結監聽事件類,接受處理資料。

第五、在disruptor中,真正儲存資料的核心叫做ringbuffer,我們通過disruptor例項拿到它,然後把資料生產出來,把資料加入到ringbuffer的例項物件中即可。

例項**:

併發程式設計 Disruptor併發框架

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

併發程式設計(四)

在併發佇列上jdk提供了兩套實現,乙個是以concurrentlinkedqueue為代表的高效能佇列,乙個是以blockingqueue介面為代表的阻塞佇列,無論哪種都繼承自queue。1 concurrentlinkedqueue 是乙個適用於高併發場景下的佇列,通過無鎖的方式,實現了高併發狀態...

併發程式設計 四

是指乙個執行緒a呼叫了物件o的wait 方法進入等待狀態,而另乙個執行緒b呼叫了物件o的notify 或者notifyall 方法,執行緒a收到通知後從物件o的wait 方法返回,進而執行後續操作。上述兩個執行緒通過物件o來完成互動,而物件上的wait 和notify notifyall 的關係就如...