37

epoll には 2 つの関数があります。

  1. epoll_ctl
  2. epoll_wait

同じ epoll_fd を使用する場合、 それらはスレッドセーフですか?
あるスレッドが epoll_wait を呼び出し、他のスレッドが同時に epoll_ctl を呼び出すとどうなりますか?

4

2 に答える 2

26

スレッドセーフですが、それを明示的に述べているドキュメントはあまりありません。こちらをご覧ください

ところで、単一の で複数のスレッドを待機させることもできますepoll_fdが、その場合は少し注意が必要です。EPOLLET(つまり、エッジ トリガーモードまたはワンショット モードを使用したい場合があります。ここEPOLLONESHOTを参照してください。)

于 2011-08-14T21:13:17.797 に答える