3

只是一个快速的问题。我有一个网络 C 应用程序(TCP 服务器),它有多个工作线程(Pthreads)。每个工作线程都使用一个select系统调用,每个线程都将监听socket descriptor添加到其选择集中。因此,每个工作线程都有效地侦听传入连接,并且一次只有一个线程成功接受特定连接,并且该连接socket descriptor被添加到相应线程的select集合中。

我的问题是每个线程都有自己的select集合,我是否可以向套接字描述符位于另一个工作线程选择集合中的客户端发送或接收数据?换句话说,我可以使用任何工作线程的选择集中的套接字描述符来从我想要的任何线程执行 I/O 吗?谢谢

4

1 回答 1

4

您可以在不同线程之间共享套接字和文件描述符。这就是大多数服务器所做的。

于 2012-04-22T20:32:44.560 回答