【发布时间】:2011-10-26 21:19:27
【问题描述】:
epoll中有两个函数:
- epoll_ctl
- epoll_wait
当我使用相同的 epoll_fd 时,它们是否线程安全?
如果一个线程调用epoll_wait,其他线程同时调用epoll_ctl,会发生什么?
【问题讨论】:
-
你用的是同一个epoll_fd吗?
-
是的,我用的是同一个epoll_fd。
-
您能否详细说明您的使用情况?为什么一定要使用同一个epoll fd?如果你在做 RX/TX 结构,你可以让一个 epoll fd 对应于 IN 事件,一个对应于 out 事件(这是我在一些应用程序中使用的)
-
你好,我用epll io多路复用和线程池,我想用epoll_ctl改变其他线程上的事件。但是不知道是否需要使用一些同步机制来保证线程安全。
标签: c multithreading sockets network-programming epoll