pthread_join
pthread_join 는 실별번호 th 로 시작된 쓰레드가 종료되는걸 기다린다. 이러헌 쓰레드의 종료는 pthread_exit(3)로 종료되거나 혹은 리턴되는 경우 발생한다.
만약 thread_return값이 NULL 이 아니라면, th의 리턴값이 저장된 영역이 전달되게 된다.
th 식별번호를 가지는 쓰레드가 join 되기 위해서는 반드시 joinable 상태의 쓰레드로 작동하고 있어야지만 한다. 만약 기다리는 쓰레드가 pthread_detach(3) 함수를 통해서 detached 상태가 되었거나 혹은 pthread_create(3)로 실행될때 PTHREAD_CREATE_DETACHED 특성으로 실행되었다면 join 으로 기다릴수 없게 된다.
joinable 쓰레드가 종료되면, 종료된다고 하더라도 즉시 메모리 자원등이 해제 되지 않는다. pthread_join 함수를 만나야지만 자원이 해제된다. 그럼으로 모든 joinable 쓰레드에 대해서는 반드시 pthread_join 을 호출해주어야 한다. 그렇지 않을경우 메모리 누수가 발생할것이다.




