0
對於以下的代碼:關於調用pthread_cond_wait
f1()
{
pthread_mutex_lock(&mutex); //LINE1 (thread3 and thread4)
pthread_cond_wait(&cond, &mutex); //LINE2 (thread1 and thread2)
pthread_mutex_unlock(&mutex);
}
f2()
{
pthread_mutex_lock(&mutex);
pthread_cond_signal(&cond); //LINE3 (thread5)
pthread_mutex_unlock(&mutex);
}
假定線程1和線程在LINE2,thread3等待和thread4被阻止在LINE1。當thread5執行LINE3時,哪些線程將首先運行? thread1或thread2?線程3或線程4?