卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

深入理解java nio Java中BIO,NIO和AIO的區(qū)別和應(yīng)用場景?

Java中BIO,NIO和AIO的區(qū)別和應(yīng)用場景?AIO完全是異步通信。NiO是同步無阻塞通信。有一個典型的例子。把水燒開。假設(shè)有一個場景,有一排水壺(顧客)在燒開水。AIO的做法是,每個水壺都配有一

Java中BIO,NIO和AIO的區(qū)別和應(yīng)用場景?

AIO完全是異步通信。NiO是同步無阻塞通信。有一個典型的例子。把水燒開。假設(shè)有一個場景,有一排水壺(顧客)在燒開水。AIO的做法是,每個水壺都配有一個開關(guān),當(dāng)水沸騰時,開關(guān)會提醒相應(yīng)的線程處理。NiO的方法是讓線程連續(xù)觀察每個水壺,并根據(jù)每個水壺的當(dāng)前狀態(tài)對其進行處理。Bio的方法是讓線程留在一個水壺中,直到水壺沸騰,然后再處理下一個水壺。由此可見,AIO最聰明也最省力,NiO相對省力,一個人能看到所有的鍋,bio最笨,勞動力低。

為什么nio效率會比bio高?

核心是合理利用硬件提供的功能。NiO只需要CPU在通道的幫助下參與IO的開始和結(jié)束,其他時段的控制權(quán)轉(zhuǎn)移到通道,直接在磁盤和內(nèi)存之間交換數(shù)據(jù);bio需要CPU中的寄存器參與數(shù)據(jù)傳輸;如果是直接訪問模式,CPU還需要輪詢檢查,而中斷驅(qū)動模式也需要在字傳輸后進行檢查??傊琋iO通過將CPU控制權(quán)委托給通道,減少了中斷,不參與數(shù)據(jù)傳輸,提高了數(shù)據(jù)處理速度。