
IO
文章平均质量分 85
东大资土是冠军
2022年6月毕业于东北大学资源与土木工程学院。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进一步分析一下Channel在做什么
那么既然是和操作系统进行内容的传递,那么说明应用程序可以通过通道读取数据,也可以通过通道向操作系统写数据。I/O 多路复用模型本质上是一种阻塞 I/O,进行读操作的 read 系统调用是阻塞的,select 的时候也是阻塞的。在接收到连接请求之前,选择器(位于应用程序)都会一直阻塞在select()方法上:select()在系统内部实际在连接操作系统,操作系统会去检测有没有数据发送过来,没发过来就一直阻塞。接收到数据之后(就绪事件触发),因为通道是连接到操作系统的,而数据已经被发送到操作系统,原创 2024-03-29 11:44:23 · 427 阅读 · 0 评论 -
根据实例逐行分析NIO到底在做什么
Selector(选择器)是 Channel 的多路复用器,它可以同时监控多个 Channel 的 IO 状况,允许单个线程来操作多个 Channel。Channel在从Buffer中获取数据。选择器、通道、缓冲池是NIO的核心组件。此时选择器内只包含这一条负责监听连接请求的通道答:最最关键的一步是选择器的存在,同时下图第一个红框,ServerSocketChannel属性设置为非阻塞也有一定作用(某客户端发一半数据不发了,卡在那里谁也救不了)选择器监听通道,所监视的正是通道中的事件,key就代表通道中出现原创 2024-03-29 01:32:53 · 1165 阅读 · 0 评论