圖解BIO、NIO、AIO、多路復(fù)用IO的區(qū)別
學(xué)習(xí)之前,我們先來(lái)了解一下IO模型:
①同步阻塞IO(Blocking IO):即傳統(tǒng)的IO模型。
②同步非阻塞IO(Non-blocking IO):默認(rèn)創(chuàng)建的socket都是阻塞的,非阻塞IO要求socket被設(shè)置為NONBLOCK。注意這里所說(shuō)的NIO并非Java的NIO(New IO)庫(kù)。
③多路復(fù)用IO(IO Multiplexing):即經(jīng)典的Reactor設(shè)計(jì)模式,有時(shí)也稱為異步阻塞IO,Java中的Selector和Linux中的epoll都是這種模型(Redis單線程為什么速度還那么快,就是因?yàn)橛昧硕嗦窂?fù)用IO和緩存操作的原因)
④異步IO(Asynchronous IO):即經(jīng)典的Proactor設(shè)計(jì)模式,也稱為異步非阻塞IO。
圖解:




看了這些,你應(yīng)該對(duì)這些IO有了新的認(rèn)識(shí)了吧,那就給我個(gè)贊唄^_^
來(lái)源:blog.csdn.net/lzb348110175/article/details/98941378
版權(quán)申明:內(nèi)容來(lái)源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無(wú)法確認(rèn),我們都會(huì)標(biāo)明作者及出處,如有侵權(quán)煩請(qǐng)告知,我們會(huì)立即刪除并表示歉意。謝謝!

評(píng)論
圖片
表情
