c - epoll 是线程安全的吗?

标签 c multithreading sockets network-programming epoll

epoll中有两个函数:

  1. epoll_ctl
  2. epoll_wait

当我使用相同的 epoll_fd 时,它们是否线程安全
如果一个线程调用epoll_wait而其他线程同时调用epoll_ctl会怎样?

最佳答案

它是线程安全的,但没有太多文档明确说明这一点。参见 here

顺便说一句,您也可以让多个线程等待单个 epoll_fd,但在那种情况下它可能会变得有点棘手。 (即,您可能想使用边缘触发的 EPOLLET 或单触发模式 EPOLLONESHOT。参见 here。)

关于c - epoll 是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058737/

相关文章:

c - 如何在 C 中解析 URL?

multithreading - Haskell 对 Node.js 的响应是什么?

c++ - 卡在 _dl_sysinfo_int80 上的多线程应用程序

Python 套接字消息交换

c - 发送两个字节的整数

c - C 中的短整型、十六进制和二进制基数

C - 将缓冲区复制到字符串 - 这甚至可能吗?

c# - (无效的方法)避免在 C# 中双重检查锁

android - 使用 USB 套接字将文件从设备传输到电脑

c - 使用winsock.h将整数转换为ipv4