Executor
Last updated
Last updated
Executors.newFixedPoolSize( int ) 로 원하는 poolsize를 지정해준다
Executors에 submit된 작업들은 Thread Pool에서 계속실행되게 된다.
Executors는 shutdown() , awaitTermination() 등을 사용하여 반드시 종료해주어야 한다
Thread의 작업이 현재스레드인지 새스레드인지, 작업의 실행 흐름을 제어할 수 있게 도와준다. 작업실행이 꼭 비동기일 필요는 없다.
지금 까지와 동일한 Printer를 예제로 사용
주기적으로 작업을 수행할 수 있습니다.
Executors를 Executors.newSingleThreadScheduledExecutor();
로 바꿔준 뒤,
Main => Future<?> executors = printExecutor.schedule(scheduler, 1, TimeUnit.SECONDS);
이렇게 수정해 줍니다.
schedule( {Callable} , {delay} , {Period} )
는
{delay}
만큼 이후에 {Period}
주기로 {Callable}
를 실행합니다.