美女喷水视频网站在线观看,国产超碰女人任你爽,囯产目拍亚洲精品小草 http://www.builtinbookshelves.com 寶寶取名 公司起名 專家起名 周易起名 姓氏起名 Thu, 23 Feb 2023 08:05:19 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.2 http://www.builtinbookshelves.com/wp-content/uploads/2023/04/2023042403580774.png NIO – 寶寶取名網(wǎng) http://www.builtinbookshelves.com 32 32 robi?robin! http://www.builtinbookshelves.com/archives/30178 Thu, 23 Feb 2023 08:04:54 +0000 http://www.builtinbookshelves.com/?p=30178 IO、NIOBIO 傻傻分不清嗎,面試官必問知識點

哈嘍!大家好,我是猿之生活,一位熱愛分享的程序員,希望本文章對你我都有幫助。

前提基礎(chǔ)知識

同步和異步

同步和異步描述的是消息通信的機制。

  • 同步:按順序執(zhí)行,最后才把結(jié)果返回。同步調(diào)用的調(diào)用者一定會得到被調(diào)用者的結(jié)果。
  • 異步:不必按順序執(zhí)行,被調(diào)用者先返回,再處理業(yè)務(wù)邏輯。

阻塞和非阻塞

阻塞和非阻塞描述的是程序在等待調(diào)用結(jié)果(消息,返回值)時的狀態(tài)。

  • 阻塞:調(diào)用方在等待被調(diào)用方返回結(jié)果時不做任何事情;
  • 非阻塞:調(diào)用者在等待被調(diào)用者返回結(jié)果來處理其他事情。

并發(fā)和并行

  • 并發(fā):在一段時間內(nèi),幾個程序在同一個CPU上運行。
  • 并行:幾個程序在一段時間內(nèi)運行在不同的CPU上,在任意一個時間點,都有多個程序同時運行,互不干擾。

IO、BIO、NIO簡介

BIO簡介

同步阻塞式IO,數(shù)據(jù)的讀取寫入必須在一個線成內(nèi)等待并完成,如果時間處理時間長,則阻塞,直至完成。

BIO通信模型:一請求一應(yīng)答

用戶線程進(jìn)行 read (讀)操作時,需要等待執(zhí)行操作,此時線程是被阻塞的,無法執(zhí)行其他操作。

NIO簡介

同步非阻塞式IO,關(guān)采用了事件驅(qū)動的思想,主要來實現(xiàn)了一個多路轉(zhuǎn)換器。NIO支持面向緩沖。

NIO 組件包括Buffer(緩沖區(qū))、Channel(管道、通道)、Selector(選擇器,多路復(fù)用器)。

NIO與BIO區(qū)別

只需要一個線程就可以處理來自多個客戶端的IO事件。

NIO實現(xiàn)代碼

I/O

I/O是Input輸入/Output輸出的簡稱,通常指數(shù)據(jù)在計算機硬件或其他周邊設(shè)備之間的輸入和輸出。

AIO

AIO 用來解決數(shù)據(jù)復(fù)制階段的阻塞問題。

三者總結(jié)

]]>