Skip to Content
Suffering builds character
아카이브13.프로세스,스레드특징소켓, 스레드6.동시성 프레임워크

6.동시성 프레임워크

개발자가 스레드를 객체를 직접 생성하고 관리하는 것은 신경써야할 부분이 너무 많으며,

통제할 수 없을 정도로 스레드를 생성하면 메모리 리소스가 빠르게 고갈될 수 있음

1. 동시성 프레임워크

자바 5 버전에서는 Executor와 ExecutorService 인터페이스를 제공,

이를 통해 보다 간편하고 직관적으로 관리할 수 있는 추상화된 형태로 프로그램을 작성할 수 있음
→ 스레드를 통해 동기화를 직접 관리하는 방식이 추상화됨
(자바 5 이전에는 Runnable과 Thread 및 synchronized를 통해 동기화를 처리하였음)

이를 동시성 프레임워크라고 통칭함

1-1. Executor와 ExecutorService를 통한 스레드풀 활용

Executor와 ExecutorService 를 통해 스레드풀을 간단하게 활용할 수 있음

Executor 이전 방식
스레드의 생성과 실행을 개발자가 모두 처리

  1. 스레드 객체를 생성하고 수행할 작업을 작성
  2. 생성한 스레드를 실행

Executor 이후
개발자는 스레드의 생성 및 실행할 작업만 작성,
생성한 스레드의 실행은 Executor 에게 위임

  1. Runnable를 활용하여 스레드가 수행할 작업을 작성
  2. 생성한 작업이 담긴 Runnable을 Executor에게 전달
  3. Executor는 자체적으로 생성한 스레드를 통해 전달받은 작업을 실행
Last updated on