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

同步与异步

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

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

阻塞

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

非阻塞

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

多路复用

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

相关推荐
吴建旭 智宅焕1 小时前
智能家居全国交付中执行端能力跃迁的架构设计:从标准装调到交付专家的系统化路径
网络·网络协议·智能家居
Eyfcom4 小时前
〖全球化架构 05〗跨国网络专线优化:QUIC 协议与 SD-WAN 在跨境传输中的实战
网络·架构·跨境物流快递系统·全球化架构
Dream Cosmos5 小时前
传输层协议之UDP
网络·网络协议·udp
鸿蒙开发爱好者9 小时前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发
乐橙开放平台9 小时前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
张小姐的猫10 小时前
【基于 WebSocket 的多用户网页五子棋】—— 项目结构设计与实用工具类模块
网络·websocket·网络协议
QXWZ_IA11 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠13 小时前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
陈希12313 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
草莓熊Lotso14 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试