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

同步与异步

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

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

阻塞

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

非阻塞

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

多路复用

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

相关推荐
Python私教2 分钟前
GenericAgent记忆系统深度解析:四层架构如何让AI拥有永不遗忘的大脑
网络·人工智能·架构
时空系1 小时前
第9篇:成员功能——为结构体添加能力 Rust中文编程
开发语言·网络·rust
@encryption1 小时前
VLAN --- 深度学习
网络
@insist1232 小时前
信息安全工程师-虚拟专用网络核心技术与软考考点全解析
网络·软考·信息安全工程师·软件水平考试
以太浮标3 小时前
华为eNSP模拟器综合实验之- MGRE多点GRE隧道详解
运维·网络·网络协议·网络安全·华为·信息与通信
PaperData3 小时前
2000-2023年地级市数字基础设施评价指标体系
大数据·网络·数据库·人工智能·数据分析·经管
时空自由民.3 小时前
WebSocket 协议介绍
网络·websocket·网络协议
twc8294 小时前
全链路压测的环境复杂性:网络架构、应用架构与性能影响因素全解析
网络·软件测试·架构·性能测试·全链路压测
love you joyfully4 小时前
如何随时随地访问你的“进程”?
网络·人工智能·网络安全·远程访问·网络技术
yyuuuzz4 小时前
aws 基础认知与实践注意点
运维·服务器·网络·云计算·github·aws