一、BIO、NIO和AIO
讲这三者区别之前对一下几个概念做区别,我这就不用生硬的知识了,因为能用自己话说才是真的吸收到了知识:
-
同步:自己去买衣服,但是你做不了其他的事
-
异步:把型号,款式告诉别人,让他给自己买
-
阻塞:去买票,售票员上厕所去了,在售票窗口等着售票员回来。
-
非阻塞:去银行办业务得领号等着,期间轮询询问到我了没。
-
同步阻塞:去吃饭,等着餐馆老板煮好饭。
-
同步非阻塞:点单后就去遛狗,遛一会就回去问老板饭好了吗
-
异步阻塞:点单后就不管了,饭做好了老板打电话过来
-
异步非阻塞:点单后老板给个反馈,饭做好后打电话过来
BIO就是同步阻塞
NIO就是同步非阻塞和异步阻塞
AIO就是异步非阻塞
二、Reactor和Proactor
最后说说Reactor和Proactor。他们是I/O操所的两种模式,最主要区别是Reactor模式中读写操作由自己完成,Proactor模式的读写操作有别人完成,自己从缓冲区中读写。