create
pthread_create() 또는 Thread.start()로 실행을 시작합니다.
스레드 생성은 시작일 뿐입니다. 결과가 필요한지, 자원을 누가 회수하는지, 프로그램 종료 때 끊겨도 되는지를 함께 결정해야 합니다.
pthread_create() 또는 Thread.start()로 실행을 시작합니다.
스레드는 작업을 수행하고, 공유 상태가 있다면 락이나 큐가 필요합니다.
함수가 반환되거나 종료 신호를 받아 작업 루프를 빠져나옵니다.
join, detach, daemon 정책에 따라 결과와 자원 처리가 달라집니다.
호출 스레드가 끝날 때까지 기다립니다. C에서는 반환 포인터를 받고, Python에서는 완료 시점을 확정합니다.
join하지 않을 스레드는 detach로 분리해 종료 시 자원이 자동 회수되게 합니다. 이후 join은 할 수 없습니다.
메인 스레드가 끝나면 기다리지 않고 종료됩니다. 파일 저장처럼 정리가 필요한 작업에는 적합하지 않습니다.
완료 시점과 실패 처리를 명확히 만들고, 종료된 스레드 자원을 놓치지 않습니다.
같은 종류의 작업이 계속 들어오면 다음 단계의 ThreadPoolExecutor 또는 작업 큐가 더 안정적입니다.