<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks


    先來個(gè)例子理解一下概念,以銀行取款為例:

    • 同步 : 自己親自出馬持銀行卡到銀行取錢(使用同步IO時(shí),Java自己處理IO讀寫)。

    • 異步 : 委托一小弟拿銀行卡到銀行取錢,然后給你(使用異步IO時(shí),Java將IO讀寫委托給OS處理,需要將數(shù)據(jù)緩沖區(qū)地址和大小傳給OS(銀行卡和密碼),OS需要支持異步IO操作API)。

    • 阻塞 : ATM排隊(duì)取款,你只能等待(使用阻塞IO時(shí),Java調(diào)用會(huì)一直阻塞到讀寫完成才返回)。

    • 非阻塞 : 柜臺(tái)取款,取個(gè)號(hào),然后坐在椅子上做其它事,等號(hào)廣播會(huì)通知你辦理,沒到號(hào)你就不能去,你可以不斷問大堂經(jīng)理排到了沒有,大堂經(jīng)理如果說還沒到你就不能去(使用非阻塞IO時(shí),如果不能讀寫Java調(diào)用會(huì)馬上返回,當(dāng)IO事件分發(fā)器會(huì)通知可讀寫時(shí)再繼續(xù)進(jìn)行讀寫,不斷循環(huán)直到讀寫完成)。


    Java對(duì)BIO、NIO、AIO的支持

    • Java BIO : 同步并阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)連接一個(gè)線程,即客戶端有連接請(qǐng)求時(shí)服務(wù)器端就需要啟動(dòng)一個(gè)線程進(jìn)行處理,如果這個(gè)連接不做任何事情會(huì)造成不必要的線程開銷,當(dāng)然可以通過線程池機(jī)制改善。

    • Java NIO : 同步非阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)請(qǐng)求一個(gè)線程,即客戶端發(fā)送的連接請(qǐng)求都會(huì)注冊(cè)到多路復(fù)用器上,多路復(fù)用器輪詢到連接有I/O請(qǐng)求時(shí)才啟動(dòng)一個(gè)線程進(jìn)行處理。

    • Java AIO(NIO.2) : 異步非阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)有效請(qǐng)求一個(gè)線程,客戶端的I/O請(qǐng)求都是由OS先完成了再通知服務(wù)器應(yīng)用去啟動(dòng)線程進(jìn)行處理,


    BIO、NIO、AIO適用場(chǎng)景分析:

    • BIO方式適用于連接數(shù)目比較小且固定的架構(gòu),這種方式對(duì)服務(wù)器資源要求比較高,并發(fā)局限于應(yīng)用中,JDK1.4以前的唯一選擇,但程序直觀簡(jiǎn)單易理解。

    • NIO方式適用于連接數(shù)目多且連接比較短(輕操作)的架構(gòu),比如聊天服務(wù)器,并發(fā)局限于應(yīng)用中,編程比較復(fù)雜,JDK1.4開始支持。

    • AIO方式使用于連接數(shù)目多且連接比較長(zhǎng)(重操作)的架構(gòu),比如相冊(cè)服務(wù)器,充分調(diào)用OS參與并發(fā)操作,編程比較復(fù)雜,JDK7開始支持。


    另外,I/O屬于底層操作,需要操作系統(tǒng)支持,并發(fā)也需要操作系統(tǒng)的支持,所以性能方面不同操作系統(tǒng)差異會(huì)比較明顯。


    本文出自 “力量來源于赤誠(chéng)的愛!” 博客,請(qǐng)務(wù)必保留此出處http://stevex.blog.51cto.com/4300375/1284437

    posted on 2015-01-23 12:08 abin 閱讀(571) 評(píng)論(0)  編輯  收藏 所屬分類: Java NIO

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲免费在线视频| 黄床大片30分钟免费看 | 在线观看人成视频免费无遮挡| 国产亚洲精AA在线观看SEE | 免费一级不卡毛片| 色窝窝亚洲AV网在线观看| 亚洲熟妇丰满xxxxx| 亚洲砖码砖专无区2023| 亚洲欧美成aⅴ人在线观看| 亚洲色成人网站WWW永久四虎| 亚洲愉拍一区二区三区| 亚洲欧美国产精品专区久久| 亚洲国产av玩弄放荡人妇| 在线观看亚洲一区二区| 精品国产亚洲男女在线线电影| 亚洲男人的天堂一区二区| 亚洲综合色婷婷七月丁香| 婷婷亚洲久悠悠色悠在线播放| 久久久亚洲欧洲日产国码农村| 亚洲最大福利视频网站| 亚洲成a人片7777| 久久亚洲精品中文字幕无码| 亚洲国产成人久久精品影视| 亚洲欧洲中文日产| 亚洲爆乳精品无码一区二区| 人人爽人人爽人人片A免费 | 亚洲日本一区二区三区在线| 国产亚洲成AV人片在线观黄桃| 亚洲综合一区二区精品导航| 亚洲一级大黄大色毛片| 国产亚洲欧美在线观看| 国产精品免费αv视频| 无码人妻一区二区三区免费看| 无码国产精品一区二区免费| 永久免费av无码网站大全| 在线永久看片免费的视频| 好男人看视频免费2019中文| 日本成年免费网站| 国产99视频精品免费视频7| 巨胸喷奶水视频www网免费| 亚洲国产精品嫩草影院久久|