LT与ET模式¶
-
LT: 水平触发,只要有数据就会触发epoll_wait > 适用于处理少量数据或者需要确保数据完整性的场景。 > 适用于使用阻塞式IO模型(如select)的应用程序迁移到epoll的过渡期。
-
ET:边沿触发,epoll_wait只触发一次 > 适用于高并发、高吞吐量的场景,即当数据流到达时,内核立即通知应用程序进行读写操作,避免了重复触发事件和重新读取套接字缓存的开销。 > 适用于需要精确控制的场景,即当数据流到达时,内核只会通知应用程序一次,如果应用程序没有完整地处理数据,则会在下一次epoll_wait()调用时再次通知应用程序进行读写操作。