传统IO与NIO比较


注:第一幅为BIO,第二幅为NIO。NIO模拟图中,selector和大门还应有一条线(因为大门也要经过轮询)
传统IO特点
阻塞点
server.accept();
inputStream.read(bytes);
单线程情况下只能有一个客户端

用线程池可以有多个客户端连接,但是非常消耗性能

=======================分割线==========================
NIO的特点
ServerSocketChannel        -----          ServerSocket
SocketChannel                  ------          Socket
Selector
SelectionKey
NIO的一些疑问
1、selector.select();阻塞,那为什么说nio是非阻塞的IO?
 selector.select()
 selector.select(1000);不阻塞
 selector.wakeup();也可以唤醒selector
 selector.selectNow();也可以立马返还,视频里忘了讲了,哈,这里补上

2、SelectionKey.OP_WRITE是代表什么意思
OP_WRITE表示底层缓冲区是否有空间,是则响应返还true


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值