[Philosophers] ⚖️ pthread_join vs pthread_detach
·
42Seoul
pthread_create()를 사용해 생성된 스레드는 메인 스레드가 종료되면 함께 종료가 되고, 그 과정에서 메모리를 자동으로 회수하지 않는다. 그래서 pthread_join나 pthread_detach을 통해 스레드가 종료될 때 메모리를 회수해줘야 한다 ! 두 함수 모두 스레드의 종료와 관련된 함수같은데 ... 🤔 어떤 점이 다른지, 어떤 함수를 써야할 지 궁금했다. 먼저, 스레드는 합류 가능 상태이거나 합류된 상태, 분리된 상태임을 알아야 한다. 여기서 말하는 합류는 join이 가능한 상태를 말한다. pthread_join 대상 스레드를 호출 스레드에 합류시키고 대상 스레드가 종료할 때까지 기다린다. 가령, A pthread_join B 의 순서를 가지는 코드가 있다면 대상 스레드가 종료될 때까지 ..