阻塞IO和NIO的区别

阻塞IO和NIO的区别

个人理解

阻塞io

客户端连接后服务器创建一个socket与客户端的socket 通讯,这个 socket的方法需要线程运行,一个线程运行一个socket的服务即一个线程服务一个客户端,多个用户对应多个线程,
多个线程轮番获得时间片,若是一个socket等待用户输入或者等用户读取(缓冲区的信息未处理好),则阻塞,时间片轮到这个线程时就这么在等待中啥也不干,直到客户端回应,所以造成CPU浪费

Nio

客户端连接和 服务器创建一个socket与客户端的socket 通讯 ,给服务端的socket注册上事件(读写。。。),用一个线程统一的监听所有socket的所有事件,一有事件到了,就把这个socket
需要执行的方法交给一个线程去执行。

阻塞I/O通信模型

在这里插入图片描述
缺点

多路复用NIO原理及通信模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

区别

在这里插入图片描述

面向流与面向缓冲

在这里插入图片描述

阻塞与非阻塞IO

在这里插入图片描述

选择器

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值