C 및 pthread로 프로그래밍 중입니다.pthread_t 인스턴스가 범위를 벗어나게 할 수 있습니까?
void long_running_function(void * arg) {
...
}
void start_long_running_function(void * arg) {
pthread_t thread;
pthread_create(&thread , NULL , long_running_function , arg);
/* What about the thread variable? */
}
start_long_running_function을 (떠나) 로컬 변수 '스레드'기능 범위를 벗어난 갈 것이다 : 나는 별도의 스레드에서 실행하려는 장기 실행 기능을 가지고있다. 괜찮습니까? 예를 들어 문제가 발생할 수 있습니다. long_running_function()이 완료되면?
나는 내 코드에 설명 된 접근 방식을 시도해 보았지만 제대로 작동하는 것으로 보인다.하지만 운이 좋을까?
감사 조아킴
감사합니다. 감사합니다. pthread_detach()를 살펴 보겠습니다. start_long_running_function() 끝 부분에 추가 할 수 있다고 생각합니다. – user422005
@ user422005 : 항상 분리하려고한다는 것을 알고 있다면, 스레드 생성시 속성 (pthread_attr_setdetachstate)을 사용하여 처음에 분리 된 스레드를 만들 수 있습니다. –