摘要:
名称 epoll - I/O 事件通知机制概要 #include <sys/epoll.h>描述 epoll是poll的升级版,支持边缘触发和水平触发的就绪通知方式,并且拥有良好的扩展性,可以监听大量文件描述符。一个epoll实例由下列系统调用创建和管理: * epoll实例由 epoll_create创建, 返回新建epoll实例的文件描述符 (最新的epoll_create1扩展了epoll_create的功能.) * 使用epoll_ctl在epoll实例中注册文件描述符。一个epoll实例上的文件描述符集合被称为“epoll集合”。 * 最后调用epoll_wait等待事件 阅读全文
摘要:
同步阻塞IO在等待数据就绪上花去太多时间,而传统的同步非阻塞IO虽然不会阻塞进程,但是结合轮询来判断数据是否就绪仍然会耗费大量的CPU时间。多路IO复用提供了对大量文件描述符进行就绪检查的高性能方案。selectselect诞生于4.2BSD,在几乎所有平台上都支持,其良好的跨平台支持是它的主要的也是为数不多的优点之一。select的缺点(1)单个进程能够监视的文件描述符的数量存在最大限制(2)select需要复制大量的句柄数据结构,产生巨大的开销 (3)select返回的是含有整个句柄的列表,应用程序需要遍历整个列表才能发现哪些句柄发生了事件(4)select的触发方式是水平触发,应用程序如 阅读全文