thread pool을 생성할때 말입니다.
글쓴이: junteken / 작성시간: 수, 2004/10/20 - 3:46오후
thread pool을 생성할때 mutex lock을 왜 거는지 이해가 잘안되네요..
main thread에는 여러개의 thread가 들어올경우가 없는게 아닌가요?
다음은 joinc에서 퍼온 예제 소스입이다.
pthread_mutex_lock(&async_mutex); if (pthread_create(&p_thread, NULL, thread_func, (void *)&i) < 0) { perror("thread Create error : "); exit(0); } pthread_cond_wait(&async_cond, &async_mutex); pthread_mutex_unlock(&async_mutex);
위코드를 보면 create하는부분 아래위로 locking을 하고있지요..
흠....잘 이해가 안가네요...답변 부탁드립니다.
감사합니다.
Forums:
condition 을 사용하는 예제군요.스레드가 생성되고 해당 스
condition 을 사용하는 예제군요.
스레드가 생성되고 해당 스레드 함수가 실행되면서 그 함수에서
condition 시스널을 쏠거 같습니다. 시스널을 발생 시키는 시점이 특이할거 같네요. 그리고 그걸 받으면 cond_wait를 빠져 나오고 unlock 을 하네요.
일단 lock을 쓴 이유는 condition 변수를 쓰기 위해서인거 같습니다.
특정 조건을 만족할때 까지 cond_wait에서 대기 하는게 목적인거 같습니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
댓글 달기