《Netty权威指南》之java Nio的阻塞式和非阻塞式

IO的阻塞和非阻塞都是相对于网络IO而言的

 

1、阻塞式

在Client/Server模型下,当客户端有一个请求到服务端的时候,服务端的一个线程用来处理这个请求,
当客户端的请求的写操作的时候,是先通过网络把数据写到服务器的操作系统的内存里(内核空间),
然后服务器操作系统再把数据拷贝到对应的应用程序的内从中,当请求的写数据还没有到达服务器时,
处理这个请求的线程就一直在等待,这就是传统的阻塞式

   

2、非阻塞式

在java1.4提出来NIO ,NIO中有一个Selector的概念,当某一个请求(NIO中抽象为Channel)到达服务器时,
服务器把这个Channel注册到Selector上,当请求的写数据准备完毕了,
Selector就把这个Channel交给一个或者多个线程处理,在数据到达之前服务器的线程是自由的,
不用等待,这就是非阻塞

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值