작은 계산마다 new Thread를 만들면 생성 비용과 예외 수집, 종료 책임이 호출자에게 퍼집니다.
한 call stack · 결정적 순서
생성·join·예외 직접 관리
worker 재사용·queue·shutdown
핵심: 반복 작업은 Executor나 ForkJoinPool에 제출해 실행 자원을 재사용합니다.