thread lifecycle review

스레드 코드는 시작보다 회수와 공유 상태가 중요하다

pthread, Python threading, 스레드 풀은 API가 달라도 작업 시작, 공유 접근, 종료 회수, 반복 실행이라는 같은 검토 순서를 가진다.
실행 검토표
구간 코드에서 보는 것 위험 신호
create 작업 함수, 인자, 생명주기 소유자 생성 위치만 있고 종료 책임이 흐릴 때
run 공유 객체 접근과 예외 전달 경로 락 없이 공유 변수를 수정할 때
join pthread_join, future, 결과 회수 누락되면 종료 순서와 리소스 정리가 흔들린다
pool 큐, 워커 수, shutdown 절차 작업은 끝났는데 풀이 종료되지 않을 때
리뷰 기준
pthread createjoin이 한 쌍으로 보이는지 확인한다.
Python I/O 대기에는 유용하지만 CPU 바운드는 GIL 영향을 본다.
daemon 프로세스 종료 때 정리 기회를 잃어도 되는 보조 작업인지 따진다.
safety 공유 객체는 락, 불변 데이터, 소유권 규칙 중 하나로 보호한다.