io模型

祥见 文档:io通信模型.note
链接:http://note.youdao.com/noteshare?id=ac65f2ed9614c5f9b334fab942ae030f&sub=11C4952D198F465FBF1DDEE07EB1DDD8

io阻塞有两处

1.socket.accept() 连接阻塞

2.socket.getInputStream() 读写阻塞

io阻塞一般说的是读写阻塞;在服务端接收到客户端的数据之后;数据从 网卡-> 内核 -> 用户空间的过程;用户空间调用内核数据过程中,出现的阻塞

操作系统一直是支持异步io的,java后来才提供类库支持

阻塞io(阻塞)

[图片上传失败...(image-2e7123-1582904261149)]

非阻塞io(主动轮询)

[图片上传失败...(image-60e6e6-1582904261149)]

io复用模型(通过select轮询)

[图片上传失败...(image-c66b2c-1582904261149)]

信用驱动io(事件驱动,实际复制数据还需同步操作)

[图片上传失败...(image-9acbcd-1582904261149)]

异步io(完全异步,发起一次读即返回,数据准备好回调回来)

[图片上传失败...(image-fa9ba-1582904261149)]

[图片上传失败...(image-e9bc12-1582904261149)]

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容