스레드 점검 지점

스레드는 시작보다 정리가 더 중요하다

std::thread를 만들 때는 실행 함수, 인자 복사 방식, 소유권 이동, 종료 대기 정책을 한 번에 설계합니다.

생성부터 종료까지 확인 순서

ownership
1. 실행 단위 선택

함수, 함수 객체, 람다 중 작업 범위와 캡처가 가장 명확한 형태를 고릅니다.

2. 인자 수명 확인

기본은 값 복사입니다. 참조가 필요하면 std::ref와 수명을 함께 봅니다.

3. 소유권 유지

스레드 객체를 이동했다면 이동된 대상이 정리 책임을 갖습니다.

4. join 또는 detach

결과와 순서가 필요하면 join, 완전 독립이면 신중히 detach합니다.