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

同步与异步

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

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

阻塞

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

非阻塞

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

多路复用

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

相关推荐
托尼的甜27 分钟前
Spring Cloud Gateway 的 SpEL 表达式注入漏洞(CVE-2022-22947)
网络
Gauss松鼠会40 分钟前
Prometheus 实现 openGauss 的指标监控(二)Prometheus 中添加 openGauss指标
网络·数据库·oracle·prometheus·opengauss·经验总结
钒星物联网2 小时前
北斗二号停服倒计时!磐钴提供五大升级服务
大数据·网络
古月方枘Fry2 小时前
基于大模型+MySQL的innoai助手(可适配多数环境)
网络·数据库·mysql·aigc
hz567892 小时前
应急管理部门跨部门会商用什么系统?指挥调度视频会议方案解析
网络·安全·音视频·实时音视频·信息与通信
平行宇宙喜欢吃橙2 小时前
Agent Harness 实战指南:构建生产级 AI Agent 的“马具“框架
网络·人工智能
laboratory agent开发2 小时前
工具调用失败后怎么办?重试分层与降级回路的三种路线
服务器·前端·网络
肥胖小羊3 小时前
企业微信自建应用多环境联调与路由代理方案
服务器·前端·网络
白猫不黑4 小时前
Web 应用中“敏感信息泄露“的常见位置?
前端·网络·web安全·网络安全·信息安全·渗透测试
拉格朗日(Lagrange)5 小时前
【CISP】物理环境与网络通信安全
网络·安全