condition-variable

Thread Condition Variable

condition이 만족할 때까지 대기 해주는 도구

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;

pthread_mutex_lock(&mutex); // mutex lock

pthread_cond_wait(&cond, &mutex); // signal이 올때까지 대기
pthread_cond_signal(&cond); // 대기 중인 thread 하나를 깨움
pthread_cond_broadcast(&cond); // 대기 중인 모든 thread를 깨움

pthread_mutex_unlock(&mutex);


pthread_mutex_destroy(&mutex);
pthread_cond_destroy(&cond);