Loading

epoll

源码解读

源码 超牛逼
原理

触发方式

水平触发

当我们没有一次性读取完缓冲区中的全部数据时,那么在下次调用epoll_wait时还会通知我们进行读写,而并没有发生中断信号

关心缓冲区的状态

边缘触发

当我们读写一次缓冲区后,无论是否读写完缓冲区中的所有数据,都会等到下一次发生中断信号时才会通知我们进行读写

关心缓冲区状态的变化

触发方epoll、accept触发模式及阻塞方式的选择式的选择

select(),poll()模型都是水平触发模式,信号驱动IO是边缘触发模式,epoll()模型即支持水平触发,也支持边缘触发,默认是水平触发
从表象看epoll的性能最好,但是在连接数少,并且连接都十分活跃的情况下,select和poll的性能可能比epoll好,毕竟epoll的通知机制需要很多回调函数来完成。
https://www.2cto.com/kf/201612/581370.html

posted @ 2021-09-12 20:28  小窝121  阅读(58)  评论(0)    收藏  举报