如果多个线程等待条件变量,则 pthread_cond_signal 唤醒的顺序是什么。我读过 pthread_cond_signal 不一定按 sleep 顺序唤醒。所以这可能会导致饥饿......不是吗?
谢谢
最佳答案
它是由调度策略决定的,应该是公平的。
如果线程没有因调度而饥饿 - 它们也不应该因此而饥饿。
来自spec :
If more than one thread is blocked on a condition variable, the scheduling policy determines the order in which threads are unblocked.
关于c - pthread_cond_signal 和可能的线程饥饿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401474/