disruptor可以簡單的看做是:內存MQ(內存消息隊列) or java的阻塞隊列 與阻塞隊列比:效率更高、功能更強

環境:JDK version:1.6 disruptor:3.3.6
代碼位置 :https://github.com/yanglikun/disruptor-example
備注:運行測試類在控制臺輸入消息內容,回車就能發送消息(example_basic.BasicMain不需要)
step1、step2、step3三個處理器都會接收到消息而且執行沒有先后順序 測試類:example_basic.ParallelEventHandlersMain 
step1、step2、step3 三個步驟會嚴格按照順序執行 測試類example_basic.DependenciesChainMain 
step1-1、step1-2之間沒有順序,但是step2會等到step1-1、step2-1都執行完后才會執行 測試類example_basic.DependenciesDiamondMain 
chain1、chain2之間沒有依賴關系,but chain1中的 step1-1、step1-2有先后關系、chain12中的 step2-1、step2-2有先后關系。測試類example_basic.DependenciesMultiChainMain 
異常需要設置setDefaultExceptionHandler,要不然處理器拋出異常后,就不會再處理事件了。測試類example_other.SimulationExceptionMain
調用ringBuffer.remainingCapacity()查看還有多少沒使用,測試類example_other.MonitorDisruptorMain
新聞熱點
疑難解答