国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

disruptor example

2019-11-08 03:11:02
字體:
來源:轉載
供稿:網友

disruptor example

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

image

PRoducer:生產事件disruptor(確切的說是里面的ring buffer):存放事件EventHandler:處理事件,進行業務邏輯對于一個事件,所有的EventHandler都能接收到,也就是說一個事件消息會被處理多次(也可以使用wokerpool只讓一個消息處理一次,后面會說)

代碼示例

環境:JDK version:1.6 disruptor:3.3.6

代碼位置 :https://github.com/yanglikun/disruptor-example

備注:運行測試類在控制臺輸入消息內容,回車就能發送消息(example_basic.BasicMain不需要)

沒有順序,并行執行

step1、step2、step3三個處理器都會接收到消息而且執行沒有先后順序 測試類:example_basic.ParallelEventHandlersMain image

有先后依賴順序執行

step1、step2、step3 三個步驟會嚴格按照順序執行 測試類example_basic.DependenciesChainMain image

菱形順序

step1-1、step1-2之間沒有順序,但是step2會等到step1-1、step2-1都執行完后才會執行 測試類example_basic.DependenciesDiamondMain image

鏈式依賴順序

chain1、chain2之間沒有依賴關系,but chain1中的 step1-1、step1-2有先后關系、chain12中的 step2-1、step2-2有先后關系。測試類example_basic.DependenciesMultiChainMain image

異常處理

異常需要設置setDefaultExceptionHandler,要不然處理器拋出異常后,就不會再處理事件了。測試類example_other.SimulationExceptionMain

監控disruptor的負載

調用ringBuffer.remainingCapacity()查看還有多少沒使用,測試類example_other.MonitorDisruptorMain


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴宁市| 八宿县| 房山区| 鸡泽县| 祁东县| 双城市| 元谋县| 莱芜市| 清涧县| 诏安县| 西乡县| 贵港市| 玉溪市| 宕昌县| 秀山| 河间市| 兴和县| 华池县| 南川市| 三台县| 河北区| 当雄县| 新蔡县| 如东县| 北碚区| 铁力市| 射阳县| 广水市| 马尔康县| 绥中县| 浦东新区| 阜阳市| 高淳县| SHOW| 吴堡县| 多伦县| 福州市| 舟山市| 拉孜县| 绥中县| 定南县|