2012-04-16 3 views
0

사양에 따르면 함수는 "스레드 또는 프로세스가 완료 될 때까지 대기하지 않아야합니다. 즉, 일반적으로 function()은 하위 프로세스와 작업자 스레드가 완료되기 전에 반환됩니다." 어떻게해야합니까? pthread_join은 pthread가 끝날 때까지 함수가 기다리게하고, 스레드가 없으면 모든 작업을하기 전에 스레드를 취소합니다.기다리지 않고 pthread를 끝내자.

감사합니다.

+0

어떤 기능이 있습니까? 무슨 사양? –

+0

내 MP를위한 것입니다. – Krzysiek

+0

Ahem ... MP? .... –

답변

2

나에게 이것은 스레드 컨테이너에 스레드에 대한 참조를 저장해야하는 것처럼 들리지만 전역 또는 함수에 의해 반환되고 호출자가 보관합니다. 그런 다음 프로세스가 끝날 때 (함수가 반환 된 후에 더 오래 걸릴 수도 있음) 해당 컨테이너의 모든 스레드에서 pthread_join을 호출하여 제대로 완료되었는지 확인하십시오.

+0

감사합니다. 그건 속임수 야. – Krzysiek

+1

pthread_detach()? 스레드는 완료되면 OS에서 회수합니다. –

관련 문제