스레드 시작 조건
생성 직후부터 메인 흐름과 동시에 진행될 수 있습니다.
std::thread, std::ref(), join(), detach(), thread::id는 병렬 실행의 생성과 회수를 설명합니다.
생성 직후부터 메인 흐름과 동시에 진행될 수 있습니다.
큰 객체나 공유 상태는 복사 비용과 변경 반영 여부를 따져야 합니다.
원본이 스레드보다 먼저 사라지지 않도록 수명을 보장합니다.
joinable 스레드를 방치하면 종료 시 문제가 생깁니다.