std::thread를 만들 때는 실행 함수, 인자 복사 방식,
소유권 이동, 종료 대기 정책을 한 번에 설계합니다.
함수, 함수 객체, 람다 중 작업 범위와 캡처가 가장 명확한 형태를 고릅니다.
기본은 값 복사입니다. 참조가 필요하면 std::ref와
수명을 함께 봅니다.
스레드 객체를 이동했다면 이동된 대상이 정리 책임을 갖습니다.
결과와 순서가 필요하면 join, 완전 독립이면 신중히
detach합니다.