网络编程-五种IO模型 阻塞IO 阻塞原理 非阻塞IO IO多路复用 select 主旨思想 select 流程伪代码 select API select描述补充 位操作API(宏) 缺点 poll API epoll epoll原理 总结 epoll_ctl() epoll_wait() 两种工作模式 水平触发LT 边缘触发ET 水平触发和边缘触发的选择 信号驱动 异步(待补充) 阻塞IO 阻塞IO即Blocking IO 针对阻塞IO执行的系统调用可能因为无法立即完成而被操作系统挂起,直到等待的事件发生。系统调用某个函数,一直检查这个函数有没有返回,必须等返回才能进行下一步动作。 socket基础API中,可能被阻塞的系统调用包括accept, send, recv, connect。 注意阻塞和非阻塞的概念是应用于文件描述符(socket, fd)而非函数。 Created with Raphaël 2.2.0 进程 read系统调用(阻塞) 有数据? 处理数据