Executors

이승민·2022년 10월 18일

JAVA8

목록 보기
16/18

고수준(High-Level) Concurrency 프로그래밍

  • 쓰레드를 만들고 관리하는 작업을 애플리케이션에서 분리
  • 그런 기능을 Executors에게 위임.
  • 작업을 하고 다음 작업이 들어오기를 계속 대기하기 때문에 shutdown()을 해줘야한다. -> graceful Shutdown이다.(현재 진행 중인 것을 다 끝내고 shutdown함)
  • shutdownNow()를 하면 진행 중에 끝낼 수 있다.

Executors가 하는 일

  • 쓰레드 만들기: 애플리케이션이 사용할 쓰레드 풀을 만들어 관리한다.
  • 쓰레드 관리: 쓰레드 생명 주기를 관리한다.
  • 작업 처리 및 실행: 쓰레드로 실행할 작업을 제공할 수 있는 API를 제공한다.

ExecutorService로 작업 실행하기

ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.submit(() -> {
    System.out.println("Hello :" + Thread.currentThread().getName());
});

ExecutorService로 멈추기

executorService.shutdown(); // 처리중인 작업 기다렸다가 종료 
executorService.shutdownNow(); // 당장 종료
```![](https://velog.velcdn.com/images/lee2963/post/c58b70b4-58e3-4fee-a657-9e9ce0123e1e/image.jpeg)
profile
💻 끊임없이 성장하는 백엔드 개발자 💻

0개의 댓글