epollwait和epollctl都是线程安全的,但是当一个线程epollwait,而另一个线程用epollctl向同一个epoll_fd添加了一个监测fd后,epollwait有可能被改fd的读/写事件唤醒。
对于epollwait线程来说,可能得到的fd不是期待集合中的内容。这里需要注意一下。
参考:
http://stackoverflow.com/questions/5541054/how-to-correctly-read-data-when-using-epoll-wait
http://stackoverflow.com/questions/7058737/is-epoll-thread-safe
本文详细探讨了epollwait和epollctl在并发操作时的潜在问题,特别是当一个线程执行epollwait,而另一个线程使用epollctl向同一epoll_fd添加监测fd后,可能会导致epollwait线程接收到非预期的fd事件。文章引用了Stack Overflow上的讨论,提供了避免此类问题的方法和最佳实践。

792

被折叠的 条评论
为什么被折叠?



