ExecutorService 이해하기
목표 ExecutorService의 역할을 이해한다. ExecutorService의 대표적인 메서드를 이해한다. Runnable 스레드에 의해 실행될 작업을 나타내는 함수형 인터페이스 void run() 메서드를 가지고 있다. Executor Runnable 작업을 실행시켜주는 인터페이스 실행 작업과 각 작업이 실행되는 메커니즘(스레드 사용, 스케쥴링 등)을 decoupling 시켜주는 인터페이스이다. 일반적으로 executor에서 실행되는 작업은 다른 스레드에서 실행된다. class ThreadPerTaskExecutor implements Executor { public void execute(Runnable r) { new Thread(r).start(); } } 하지만 Executor의 구현체가 항상 비동기나 다른 스레드로 실행되어야 한다는 제한은 없다. class DirectExecutor implements Executor { public void execute(Runnable r) { r....