跟我學系列之趣解NIO和IO的區(qū)別

在上一次分享中巢寡,咱們談到了阻塞與非阻塞,同步與異步的區(qū)別淹禾,http://www.reibang.com/p/e9c6690c0737

那么在這一次分享中柴墩,咱們主要是以講故事的方式講述一下NIO和IO的區(qū)別。那么在下一次分享中翩概,將進行Java NIO源碼的分析牲距。

故事的背景:

有一個動物園,動物園里面有獅子钥庇,老虎牍鞠,猴子等動物,他們每天定期來吃不同的水果评姨,而這些水果要由動物園管理員到貨場領取分配难述。

一、IO

我們知道,在使用IO的時候往往可以在服務器端使用多線程或者線程池來處理并發(fā)請求胁后,這也叫偽異步店读,那么故事開始了:

在貨場里有五個動物園管理員等待水果貨車的到來,他們一直在等待攀芯,如果貨車不來他們也要死等屯断,直到貨車的到來,這時候貨車來了敲才,每個管理員都領了一份水果去尋找動物裹纳,管理員A來到獅子旁邊择葡,給獅子一份蘋果紧武,獅子開始吃,中途吃累了敏储,休息了一會兒繼續(xù)吃阻星,這時候管理員A就一直等著獅子吃完,再回去拿水果去另一個動物那里已添。五個管理員都是這樣做的妥箕。

二、NIO

Java NIO是在jdk1.4開始使用的更舞,它既可以說成“新IO”畦幢,也可以說成非阻塞式I/O。下面是java NIO的工作原理:

由一個專門的線程來處理所有的IO事件缆蝉,并負責分發(fā)宇葱。

事件驅(qū)動機制:事件到的時候觸發(fā),而不是同步的去監(jiān)視事件刊头。

線程通訊:線程之間通過wait,notify等方式通訊黍瞧。保證每次上下文切換都是有意義的。減少無謂的線程切換原杂。

那么故事開始了:動物園里印颤,有一個管理員他先去了解動物們都喜歡吃什么樣的水果并做了一個登記,然后去貨場看一看貨車有沒有到來穿肄,如果沒有來他就回去繼續(xù)干別的事年局,就這樣每隔一段時間就去貨場看一下。這時候貨車來了咸产,他叫來另外五個管理員并告訴管理員哪些動物喜歡吃哪些水果某宪,管理員們分類取不同的水果,然后各自去找動物們分發(fā)水果锐朴,還是管理員A兴喂,來到獅子旁邊把它喜歡吃的蘋果給它吃,獅子吃的比較慢,這時候管理員A說衣迷,你先吃著畏鼓,我給其他動物送水果,我一會兒再來取水果盤子壶谒,這時候管理員A回去取來香蕉繼續(xù)猴子送去云矫,在猴子吃香蕉累了休息的時候,管理員A來找獅子拿回水果盤子汗菜,再去找猴子拿回水果盤子让禀。

不知道大家在看完這二個小故事之后有沒有理解NIO和IO,那么在下次分享的時候陨界,咱們將正式進入NIO原理及源碼的分享巡揍,謝謝大家。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末菌瘪,一起剝皮案震驚了整個濱河市腮敌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌俏扩,老刑警劉巖糜工,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異录淡,居然都是意外死亡捌木,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門嫉戚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刨裆,“玉大人,你說我怎么就攤上這事彼水〈抻担” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵凤覆,是天一觀的道長链瓦。 經(jīng)常有香客問我,道長盯桦,這世上最難降的妖魔是什么慈俯? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮拥峦,結(jié)果婚禮上贴膘,老公的妹妹穿的比我還像新娘。我一直安慰自己略号,他們只是感情好刑峡,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布洋闽。 她就那樣靜靜地躺著,像睡著了一般突梦。 火紅的嫁衣襯著肌膚如雪诫舅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天宫患,我揣著相機與錄音刊懈,去河邊找鬼。 笑死娃闲,一個胖子當著我的面吹牛虚汛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播皇帮,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼卷哩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了玲献?” 一聲冷哼從身側(cè)響起殉疼,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤梯浪,失蹤者是張志新(化名)和其女友劉穎捌年,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挂洛,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡礼预,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了虏劲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片托酸。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖柒巫,靈堂內(nèi)的尸體忽然破棺而出励堡,到底是詐尸還是另有隱情,我是刑警寧澤堡掏,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布应结,位于F島的核電站,受9級特大地震影響泉唁,放射性物質(zhì)發(fā)生泄漏鹅龄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一亭畜、第九天 我趴在偏房一處隱蔽的房頂上張望扮休。 院中可真熱鬧,春花似錦拴鸵、人聲如沸玷坠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽八堡。三九已至碍扔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秕重,已是汗流浹背不同。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留溶耘,地道東北人二拐。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像凳兵,于是被迫代替她去往敵國和親百新。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 故事的背景: 有一個動物園庐扫,動物園里面有獅子饭望,老虎,猴子等動物形庭,他們每天定期來吃不同的水果铅辞,而這些水果要由動物園管...
    Bobby0322閱讀 444評論 0 2
  • 當學習了Java NIO和IO的API后,一個問題馬上涌入腦海:我應該何時使用IO萨醒,何時使用NIO呢斟珊?在本文中,我...
    大棄閱讀 956評論 0 5
  • IONIO小結(jié) I/O I/O ? 或者輸入/輸出 ? 指的是計算機與外部世界或者一個程序與計算機的其余部分的之間...
    六尺帳篷閱讀 2,465評論 0 8
  • 我的世界富纸,你來過囤踩,我愛過,這就夠了晓褪,有情不必求相守堵漱,不知何時想起這一句,那時候涣仿,我以為我是唯心主義者勤庐,只要精神能量...
    九夜茴Harvest閱讀 314評論 0 0
  • 我不知道你什么時候來 也不知道你什么時候走 我只求你來時輕輕松松 走時也不回頭 我希望我遇見你時我沒有身邊人 也只...
    兔子尾巴鼠閱讀 577評論 1 2