2020. 9. 28. 16:14ㆍ개인공부/java
15. Executors
고수준 (High-Level) Concurrency 프로그래밍
-
● 쓰레드를 만들고 관리하는 작업을 애플리케이션에서 분리.
-
● 그런 기능을 Executors에게 위임.
Executors가 하는 일
-
● 쓰레드 만들기: 애플리케이션이 사용할 쓰레드 풀을 만들어 관리한다.
-
● 쓰레드 관리: 쓰레드 생명 주기를 관리한다.
-
● 작업처리및실행:쓰레드로실행할작업을제공할수있는API를제공한다.
주요 인터페이스
-
● Executor: execute(Runnable)
-
● ExecutorService: Executor 상속 받은 인터페이스로, Callable도 실행할 수 있으며,
Executor를 종료 시키거나, 여러 Callable을 동시에 실행하는 등의 기능을 제공한다.
-
● ScheduledExecutorService: ExecutorService를 상속 받은 인터페이스로 특정 시간
이후에 또는 주기적으로 작업을 실행할 수 있다. ExecutorService로 작업 실행하기
ExecutorService로 멈추기
executorService.shutdown(); // 처리중인 작업 기다렸다가 종료executorService.shutdownNow(); // 당장 종료 Fork/Join 프레임워크
● ExecutorService의 구현체로 손쉽게 멀티 프로세서를 활용할 수 있게끔 도와준다.
참고
● https://docs.oracle.com/javase/tutorial/essential/concurrency/executors.html
출저 : 인프런 자바8 - 백기선님.
'개인공부 > java' 카테고리의 다른 글
자바의정석 - Chapter 2 변수 (0) | 2020.11.17 |
---|---|
자바의 정석 - Chapter 01 자바를 시작하기 전에 (0) | 2020.11.16 |
Java- Concurrent 프로그래밍 (0) | 2020.09.28 |
Java - Date와 Time Api (0) | 2020.09.27 |
JAVA - stream (0) | 2020.09.27 |