Каковы плюсы и минусы использования pthread_cond_wait
или с помощью семафора?
Я жду изменения состояния следующим образом:
pthread_mutex_lock(&cam->video_lock);
while(cam->status == WAIT_DISPLAY) {
pthread_cond_wait(&cam->video_cond, &cam->video_lock);
}
pthread_mutex_unlock(&cam->video_lock);
Используя правильно инициализированный семафор, я думаю, что мог бы сделать это вот так:
while(cam->status == WAIT_DISPLAY) {
sem_wait(&some_semaphore);
}
Каковы преимущества и недостатки каждого метода?