C编程中的并发线程

Swa*_*apu 1 c mutex pthreads condition-variable

我在多线程上实现等待和信号条件时遇到了问题.

线程需要锁定互斥锁并等待条件变量,直到某个其他线程发出信号为止.同时,另一个线程锁定相同的互斥锁并等待相同的条件变量.现在,在整个过程中并发运行的线程发出条件变量的信号,但我只想要等待的第一个线程必须发出信号,而不是其他线程.

Ant*_*ams 5

如果两个线程在相同的条件变量上等待,它们必须准备好处理相同的条件,或者您必须仔细构造程序,以便它们永远不会同时等待条件变量.

为什么这个通知必须由第一个线程而不是第二个线程处理?

使用两个独立的条件变量可能会更好.