6.동시성 프레임워크
개발자가 스레드를 객체를 직접 생성하고 관리하는 것은 신경써야할 부분이 너무 많으며,
통제할 수 없을 정도로 스레드를 생성하면 메모리 리소스가 빠르게 고갈될 수 있음
1. 동시성 프레임워크
자바 5 버전에서는 Executor와 ExecutorService 인터페이스를 제공,
이를 통해 보다 간편하고 직관적으로 관리할 수 있는 추상화된 형태로 프로그램을 작성할 수 있음
→ 스레드를 통해 동기화를 직접 관리하는 방식이 추상화됨
(자바 5 이전에는 Runnable과 Thread 및 synchronized를 통해 동기화를 처리하였음)
이를 동시성 프레임워크라고 통칭함
1-1. Executor와 ExecutorService를 통한 스레드풀 활용
Executor와 ExecutorService 를 통해 스레드풀을 간단하게 활용할 수 있음
Executor 이전 방식
스레드의 생성과 실행을 개발자가 모두 처리
- 스레드 객체를 생성하고 수행할 작업을 작성
- 생성한 스레드를 실행
Executor 이후
개발자는 스레드의 생성 및 실행할 작업만 작성,
생성한 스레드의 실행은 Executor 에게 위임
- Runnable를 활용하여 스레드가 수행할 작업을 작성
- 생성한 작업이 담긴 Runnable을 Executor에게 전달
- Executor는 자체적으로 생성한 스레드를 통해 전달받은 작업을 실행
Last updated on