linux - epoll的EPOLLEXCLUSIVE可以同时触发同一个socket上的多个读取吗?
问题描述
据我了解,EPOLLEXCLUSIVE 每个事件只会唤醒一个线程,但如果发生更多事件,它将重新触发。
假设我正在使用多个线程从多个套接字读取数据,所有线程都使用 epoll_wait 和 EPOLLEXCLUSIVE。
- 数据来自套接字 S ==> 线程 A 唤醒
- 更多数据来自 Socket S ==> 线程 B 唤醒
如果 #2 在 A 完成之前发生,可能是 A 和 B 同时从套接字读取的情况?
我的理解正确吗?
解决方案
推荐阅读
- python - 修改 Keras 模型最有效的方法是什么?
- symfony - 脚本缓存:清除返回错误代码 1
- mysql - MySQL:一次从多个表中导出包含特定 id 的多行
- java - 为什么 onViewCreated() 提供的视图在一种方法中作为非空值,而在另一种方法中作为空值?
- css - 我可以在查询组上使用 CSS 兄弟运算符吗?
- spring-integration - 使用 MarshallingWebServiceInboundGateway 发送空响应
- gitlab - Gitlab 阻止从功能到主控的合并请求
- c# - EWS API,在 BindToItems 上未授权 401
- azure-blob-storage - Azure IoT Edge 模块日志 - 任务上传日志因错误而失败
- oracle - 通过codeignier将时间戳类型数据插入Oracle数据库