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

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