pthread 에 관해 질문 드립니다.

air74의 이미지

안녕하세요.

소스 파일 하나를 분석 하고 있는데 pthread_create 하는 부분이 없고pthread_once 및 기타 thread 관련 작업을 하고 있네요.

이럴경우 main 함수 부분이 thread 형태로 인식이 되서 동작 하는 것인가요? 보면 정상적으로 컴파일도 되고 실행도 되고 있습니다.

function_init_routine(){

      pthread_once(&threadInitializeOnce, _threadInitialize);

      불라 불라
}

main(){
      
      function_init_routine();

      불라 불라;
}
woojhs의 이미지

mutex를 사용하기 전에 초기화를 하는데 단 한번만 초기화하는 함수입니다.

일반적으로 정적 초기화된 mutex를 사용 할 수 없을 경우 존재한다고 하네요.

일회성 초기화 코드에서 호출할 때 사용된다고 합니다.

결국은 재귀적인 문제를 해결해 주는 샘이죠..

저도 정확히는 잘 몰라서 한번만 초기화 할때 사용하고 잇습니다.

도움 되시기를..