paulwong

          My Links

          Blog Stats

          常用鏈接

          留言簿(67)

          隨筆分類(1393)

          隨筆檔案(1151)

          文章分類(7)

          文章檔案(10)

          相冊

          收藏夾(2)

          AI

          Develop

          E-BOOK

          Other

          養(yǎng)生

          微服務(wù)

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          60天內(nèi)閱讀排行

          Disruptor

          一個ring buffer實現(xiàn)多線程通信。由于他們之間通信不需要鎖所以性能有很大的提高。

          Disruptor更多的應(yīng)用在高速事務(wù)中,利用JVM的偽內(nèi)存,這也可能是它為LMAX而生的,和akka的應(yīng)用場景不一樣。

          一般編寫并發(fā)應(yīng)用程序馬上想到多線程或者多進程。但多線程需要處理資源競爭,共享訪問等問題,搞不好容易出現(xiàn)死鎖,當(dāng)程序規(guī)模比較大時,排查難度很大。 Actor模型提供了另一種編寫并發(fā)應(yīng)用程序的思路。 有點類似Node.JS的基于事件異步處理. (其實我覺得基于消息異步和基于事件異步是一回事)

          什么是基于消息異步呢?很簡單,比如要開展一個項目,需要多人協(xié)作。作為項目經(jīng)理的你,只需要像手下發(fā)出命令,個人各干各的,互不干擾。做完了就回送一個消息給項目經(jīng)理,項目經(jīng)理再分派新的任務(wù). (可能比喻得不恰當(dāng),但Actor的基本思路就是這樣,你不需要考慮資源共享和線程并發(fā)什么的, Actor庫屏蔽了這些底層的實現(xiàn)細節(jié) . 每個Actor就相當(dāng)于一個人或者叫一個處理者,他們的職責(zé)很單一,就是響應(yīng)對方發(fā)來的消息,做出響應(yīng),并回送一個響應(yīng)消息。 每個Actor負責(zé)做自己的份內(nèi)事,最后有一個調(diào)度角色的Actor將所有Actor管理起來,形成一個整體)

          Akka 是針對Scala和Java的Actor庫,JActor是一個用純Java編寫的Actor庫。 

          https://github.com/LMAX-Exchange/disruptor
          http://www.oschina.net/p/disruptor

          posted on 2016-06-05 18:19 paulwong 閱讀(744) 評論(0)  編輯  收藏 所屬分類: DISRUPTOR


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 辽源市| 红原县| 高邮市| 香格里拉县| 怀安县| 乌鲁木齐市| 哈巴河县| 沂南县| 三原县| 巴楚县| 景宁| 宜兰市| 克什克腾旗| 班戈县| 凯里市| 霸州市| 广丰县| 双桥区| 宁城县| 米林县| 商城县| 临汾市| 南江县| 莲花县| 博客| 丰原市| 德庆县| 阿拉善右旗| 体育| 乳山市| 山丹县| 南岸区| 无极县| 铁岭县| 昆明市| 嘉黎县| 乌恰县| 东乡| 苏尼特左旗| 罗江县| 旺苍县|