网络编程NIO中的阻塞与非阻塞

同步与异步

同步:线程自己去获取结果。(只有一个线程)

异步:线程自己不去获取结果,由其他线程去获取。(多个线程之间通信)

阻塞

阻塞模式下,线程要执行I/O操作时,必须等待I/O操作完成,才能向下运行。(同步)

非阻塞

非阻塞模式下,线程要执行I/O操作时,只需在等待操作完成期间保持响应,处理其他任务。(同步/异步)

多路复用

在NIO多路复用中,当一个线程调用选择器的select()方法时,选择器会阻塞等待,直到有已注册的通道就绪(可以执行读或写操作)。然后选择器会返回一个就绪通道的集合,线程可以遍历这个集合,对每个就绪的通道执行相应的IO操作。这样,一个线程就可以同时处理多个网络连接,提高了处理能力和并发性。

相关推荐
g***B73824 分钟前
Rust在网络中的Tokio
开发语言·网络·rust
xu_yule1 小时前
网络和Linux网络-5(应用层)HTTP协议(方法+报头+状态码)
linux·网络·网络协议·http
报错小能手1 小时前
TCP/UDP面经整理
网络·tcp/ip·udp
xxp43211 小时前
Qt 网络编程 网络下载
网络·qt·php
xuchaoxin13752 小时前
cdn节点代理的副作用@fail2ban对接cdn封锁恶意请求ip@fail2ban封锁ip有效性问题
运维·网络·cdn·cloudflare
西幻凌云2 小时前
了解计算机网络的“物理根基”——物理层与数据链路层
网络·网络协议·计算机网络·数据链路层·物理层
白狐_7985 小时前
网络基础核心问题深度解析:从IP/MAC到IPv6与路由配置
网络·tcp/ip·macos
板鸭〈小号〉5 小时前
应用层协议 HTTP
网络·网络协议·http
拾忆,想起5 小时前
Dubbo服务超时与重试策略配置指南:构建 resilient 微服务架构
服务器·网络·微服务·云原生·架构·dubbo
MarkHD5 小时前
车辆TBOX科普 第28次 AT命令集与移动通信技术入门:从基础到4G/5G网络详解
网络·5g