진짜 같은 멀티스레딩 실습: 수동으로
Thread를 만들기보다
ExecutorService에 작업을 제출하고, 풀, 큐, 생명주기(
shutdown(),
shutdownNow())를 관리합니다.
Runnable과
Callable<T>의 차이를 이해하고,
Future와 그 메서드들(
get(),
isDone(),
cancel(...),
isCancelled())로 결과를 받습니다. 여러 작업 실행,
invokeAll/
invokeAny,
ExecutionException 처리와 흔한 실수를 보여줍니다.