[질문] posix pthread 함수중에서..

bosub의 이미지

pthread_attr_create(pthread_attr_t attr) 함수가 존재하나요?
제 포직스 쓰레드를 이용한 프로그래밍 책에 보면

pthread_attr_init(..) 함수는 존재하는데 pthread_attr_create 함수는
존재 하지 않네요.

제생각에는 pthread_create(.... ) 함수에 파라미터로 추가 된거 같은데 맞는지요?

답변 부탁드립니다.

woojhs의 이미지

thread에 속성을 추가할 때 사용하는 함수입니다.

 
 ...
 pthread_attr_t thread_attr;

 status = pthread_attr_init(&thread_attr);
 if(status != 0)
 {
   error;
 }

 status = pthread_attr_setdetachstate(&thread_attr, 속성);
 if(status != 0)
 {
   error;
 }

 status = pthread_create(&thread, &thread_attr, thread_function, (void *)arg);

 ....

 

thread의 속성을 보고 싶거나 셋팅을 할 때 사용하는 함수 입니다.

자세한것은 메뉴얼을 을 보시면 될꺼 같습니다.

xster의 이미지

pthread_attr_t 구조체의 변수는 특별히 생성 함수가 있지 않고 그냥 자동 변수로 선언 및 정의한 후
pthread_attr_init 함수로 초기값을 잡아주는 것으로 사용하실 수 있습니다.
변수가 다만 특성을 나타내는 것이기 때문에 설정을 적용한 후에는 사라져도 되기 때문에
이런 형태로 작성한 것 같습니다.

위에 분께서 적으신 대로 사용하시면 될 것 같습니다.