ここから: https://computing.llnl.gov/tutorials/pthreads/#ConVarSignal
pthread_cond_wait ルーチンは、待機中にミューテックスを自動的かつアトミックにロック解除することに注意してください。
次のサブコードは同じリンクからのものです(私がフォーマットしています):
pthread_mutex_lock(&count_mutex);
while (count<COUNT_LIMIT)
{
pthread_cond_wait(&count_threshold_cv, &count_mutex);
printf("watch_count(): thread %ld Condition signal received.\n", my_id);
count += 125;
printf("watch_count(): thread %ld count now = %d.\n", my_id, count);
}
pthread_mutex_unlock(&count_mutex);
質問:待機中にミューテックスが自動的にロック解除される
と書かれている場合、上記のコードの最後で関数を明示的に指定する必要があるのはなぜですか?pthread_cond_wait
pthread_mutex_unlock
私が見逃しているポイントは何ですか?