我目前正在编写一个管理多台计算机上的并行渲染的应用程序。为此,我在我的服务器应用程序上有一个管理 TCP 连接的线程池,每个问题一个线程。如果其中一个网络线程接收到数据,我想在每个 TCP 线程中使用相同的条件变量来警告另一个线程。
问题:要使用signal
POSIX api 中的函数,我必须使用互斥锁。这意味着如果 2 个网络线程同时接收数据,它们将不得不等待互斥体空闲才能继续执行。
实际上,使用这个条件变量真的会减慢我的代码吗?如果我不想使用它,我也可以在另一个线程(调用wait
条件变量的那个)中创建一个循环指令,以查看我的网络线程是否收到了一些东西。
非常感谢 :)