IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:blocking

共 1 篇相关文章

IT 累计浏览 16,676

关于IO的同步,异步,阻塞,非阻塞

这篇讲的是网络IO模型中几个核心但常被混淆的概念:同步、异步、阻塞与非阻塞。作者从一次团队周会的实际讨论出发,发现大家对这些术语的理解各执一词,甚至连常见的技术资料(如Wikipedia)也常将“异步”与“非阻塞”混为一谈。 文章的核心价值在于对这两对概念进行了系统性的对比与澄清。它明确了“同步/异步”关注的是IO操作完成后,通知机制的差异——是由调用方主动检查,还是由内核完成后通知调用方;而“阻塞/非阻塞”描述的则是调用函数后,在数据未就绪时线程是否挂起等待。作者结合Unix系统调用和epoll的实例,分析了它们在不同网络编程模型下的具体表现与组合方式。 通过厘清这些理论上的区别,文章能帮助开发者更准确地理解`select`、`poll`、`epoll`以及异步IO接口(如`aio`)的设计思想与适用场景,这对于编写高性能的网络服务程序很有启发。