首页 > 解决方案 > epoll的EPOLLEXCLUSIVE可以同时触发同一个socket上的多个读取吗?

问题描述

据我了解,EPOLLEXCLUSIVE 每个事件只会唤醒一个线程,但如果发生更多事件,它将重新触发。

假设我正在使用多个线程从多个套接字读取数据,所有线程都使用 epoll_wait 和 EPOLLEXCLUSIVE。

  1. 数据来自套接字 S ==> 线程 A 唤醒
  2. 更多数据来自 Socket S ==> 线程 B 唤醒

如果 #2 在 A 完成之前发生,可能是 A 和 B 同时从套接字读取的情况?

我的理解正确吗?

标签: linuxsocketsepoll

解决方案


推荐阅读