std::thread 객체는 실행 흐름을 소유할 수도 있고, 이미
비어 있을 수도 있습니다. 판단 질문은 소멸 시점에
joinable() 인지입니다.
joinable() 은 false입니다.
join() 후에는 더 이상 joinable 상태가
아닙니다.
detach() 후 객체는 비지만 스레드는 독립적으로
진행합니다.
join()을
호출합니다.
detach()를 고려합니다.
std::terminate를
호출합니다.