阻塞IO和非阻塞IO

本文探讨了阻塞IO在Java多线程中的局限,并介绍了NIO非阻塞IO在Tomcat和Netty等应用中的优势,强调了单线程非阻塞设计的重要性。通过Netty示例,说明了如何利用IO多路复用技术实现高并发。
摘要由CSDN通过智能技术生成

阻塞IO 常见的有我们的 tomcat , java多线程,阻塞IO 是指,线程如果没执行完,就不能释放资源,处理下一个请求(tomcat线程池中的线程资源,一个线程没执行完,不释放,就不能会线程池,tomca就不能分配它去执行下一个请求,即线程的指令没有被cpu取完,线程不能 去 重新 存 其他 指令)

阻塞IO又分为单线程模式阻塞,和多线程阻塞,tomcat默认是 多线程阻塞,即一个主线程去接收请求,但是不处理,去线程池开启一个新的线程去执行,这样可以提供并发量,虽然解决了主线程阻塞问题,但是 你新线程 还是存在阻塞问题的,

NIO 非阻塞IO:Netty , Redis
基于IO多路复用技术,只需要一个线程或者少量线程,就可以处理大量请求,从性能上来说NIO实现的服务器并发性一般大于BIO
不是说 单线程 就是 非阻塞 IO了,只有单线程 是 非阻塞IO设计的时候,单线程才可以处理并发问题,即 线程中的 指令 不需要指令全部被 cpu取完才能去,存新的指令

一般支持多线程的应用,都是默认采用 阻塞IO的
网络通信本来也是 IO,不要把 IO 就等于 文件读写,http本来就是 开启通道,以流的形式完成 数据的传输

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值