C++ 创建文件描述符的方法有哪些?

C++ 创建文件描述符的方法有哪些?,c++,linux,epoll,qnx,C++,Linux,Epoll,Qnx,的Wikipedia页面列出了以下系统调用: - open(), open64() - creat(), creat64() - socket() - accept() - socketpair() - epoll_create() (Linux only) - pipe() - signalfd() (Linux only) - eventfd() (Linux only) 在其他平台上,特别是在QNX上,是否还有其他方法 我有一个线程,它通过poll()调用监视一组套接字

的Wikipedia页面列出了以下系统调用:

 - open(), open64()
 - creat(), creat64()
 - socket()
 - accept()
 - socketpair()
 - epoll_create() (Linux only)
 - pipe()
 - signalfd() (Linux only)
 - eventfd() (Linux only)
在其他平台上,特别是在
QNX
上,是否还有其他方法

我有一个线程,它通过
poll()
调用监视一组套接字,并从套接字接收“命令”。现在,我需要添加一种可能性,从同一进程中运行的其他线程发送这样的“命令”。如果可能的话,我希望避免在同一过程中写入管道/套接字的开销


有人能想到使用
poll()
以某种方式监视条件变量吗?

是否必须通过文件描述符发送“命令”?为什么不简单地建立一个消息队列,当
轮询
调用超时时,您检查这个队列?如果你要在接收命令的过程中“发送”这些命令,为什么还要麻烦发送呢?Linux也有
timerfd\u create
来创建一个文件描述符……而且我相信管道到self真的很快。