学习之前,我们先来了解一下IO模型:
①同步阻塞IO(Blocking IO):即传统的IO模型。
②同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。
③多路复用IO(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型(Redis单线程为什么速度还那么快,就是因为用了多路复用IO和缓存操作的原因)
④异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为****异步非阻塞IO****。
图解:
看了这些,你应该对这些IO有了新的认识了吧,那就给我个赞呗^_^
—— 推 荐 阅 读 —— 假如,人工智能也去摆地摊 作为一个乘风破浪的程序员,我每天除了疯就是浪 程序员最卑微的瞬间【人工智能社群】已经成立,旨在打造真正有价值,能交流,一起学习成长的社群,并且每月送书不断!现备注城市+昵称+研究方向,扫码添加好友后立即进群。
▲长按扫码
你在看吗?