少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          NIO通常采用Reactor模式,AIO通常采用Proactor模式。AIO簡化了程序的編寫,stream的讀取和寫入都有OS來完成,不需 要像NIO那樣子遍歷Selector。Windows基于IOCP實現AIO,Linux只有eppoll模擬實現了AIO。
          Java7之前的JDK只支持NIO和BIO,從7開始支持AIO。
          你說的IO應該指BIO,這種模式需要阻塞線程,一個IO需要一個線程,NIO由一個thread來監聽connect事件,另外多個thread來監聽讀寫事件,帶來性能上很大提高。

          基于原生nio的socket通信時一種很好的解決方案,基于事件的通知模式使得多并發時不用維持高數量的線程,高并發的socket服務器的java實現成為現實。不過原生nio代碼十分復雜,無論編寫還是修改都是一件頭疼的事。“屏蔽底層的繁瑣工作,讓程序員將注意力集中于業務邏輯本身”,有需求就有生產力進步,

























          posted on 2015-04-21 23:48 abin 閱讀(311) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 临清市| 遵义县| 油尖旺区| 汾西县| 新昌县| 和平县| 银川市| 宁蒗| 龙江县| 太仆寺旗| 马龙县| 横山县| 道孚县| 西乌| 遵义市| 三门峡市| 安阳县| 定远县| 伊金霍洛旗| 上蔡县| 平乡县| 玉林市| 瑞安市| 龙胜| 唐河县| 隆化县| 措美县| 苏尼特左旗| 漳浦县| 涪陵区| 威远县| 鄂温| 张北县| 汪清县| 宜黄县| 无为县| 吴江市| 赣榆县| 沁水县| 福安市| 湛江市|