728x90
반응형
≣ 목차
# 요약
- ExecutorService: 스레드 풀을 추상화한 인터페이스로, 작업을 제출하고 실행하는 기능을 제공한다.
- Executors: 다양한 유형의 스레드 풀을 생성하는 팩토리 메서드를 제공하는 유틸리티 클래스이다.
- CountDownLatch: 다른 스레드가 주어진 작업을 완료할 때까지 대기하는 동기화 도구이다.
- CompletableFuture: 비동기적으로 작업을 실행하고 결과를 처리하는 클래스로, 다양한 비동기 작업 처리 기능을 제공한다.
ExecutorService
스레드 풀을 추상화한 인터페이스이다. 주어진 작섭을 실행하고 관리하는 기능을 제공한다.
ExecutorService executorService = Executors.newFixedThreadPool(10); // 스레드 풀 생성
// 작업 제출 및 실행
executorService.submit(() -> {
// 작업 내용
});
executorService.shutdown(); // 모든 작업 실행 후 스레드 풀 종료
Executors
ExecutorService 인스턴스를 생성하는 팩토리 메서드들을 제공한다.
다양한 유형의 스레드 풀을 만들 수 있으며, 각각의 풀은 특정 용도에 맞게 설정될 수 있다.
주요 팩토리 메서드
- newFixedThreadPool(int n): 고정 크기의 스레드 풀을 생성한다.
- newCachedThreadPool(): 필요에 따라 스레드를 생성하고 재사용하는 캐시 스레드 풀을 생성한다.
- newSingleThreadExecutor(): 단일 스레드에서 작업을 처리하는 스레드 풀을 생성한다.
CountDownLatch
하나 이상의 스레드가 일시 중지되고, 다른 스레드가 주어진 작업을 완료할 때까지 기다리는 동기화 도구이다.
주어진 개수만큼의 카운트가 감소하면 대기 중인 스레드들이 깨어난다.
CountDownLatch latch = new CountDownLatch(1); // 카운트 초기화
// 스레드 1
new Thread(() -> {
try {
// 작업 수행
latch.countDown(); // 카운트 감소
} catch (Exception e) {
e.printStackTrace();
}
}).start();
// 스레드 2
new Thread(() -> {
try {
latch.await(); // 다른 스레드가 countDown() 호출할 때까지 대기
// 카운트가 0이 되면 이 부분 실행
} catch (Exception e) {
e.printStackTrace();
}
}).start();
CompletableFuture
비동기적으로 결과를 계산하고 처리할 수 있도록 도와주는 클래스이다.
다른 스레드에서 실행되는 작업의 결과를 기다리거나, 여러 작업의 결과를 조합하거나, 타임아웃을 설정하는 등의 기능을 제공한다.
CountDownLatch latch = new CountDownLatch(1); // 카운트 초기화
// 스레드 1
new Thread(() -> {
try {
// 작업 수행
latch.countDown(); // 카운트 감소
} catch (Exception e) {
e.printStackTrace();
}
}).start();
// 스레드 2
new Thread(() -> {
try {
latch.await(); // 다른 스레드가 countDown() 호출할 때까지 대기
// 카운트가 0이 되면 이 부분 실행
} catch (Exception e) {
e.printStackTrace();
}
}).start();
728x90
반응형
'Language > JAVA' 카테고리의 다른 글
[Java] Math 클래스 제곱 pow, 제곱근 sqrt 함수 (0) | 2024.02.21 |
---|---|
[JAVA] 문자열 반복 메소드 repeat (0) | 2024.02.15 |
[JAVA] while (n-- > 0) 의미 (0) | 2024.02.11 |
[JAVA] BufferedReader, BufferedWriter (+ StringTokenizer) 입출력 사용법 (0) | 2024.02.09 |
JAVA 13일차 - 람다, 스트림 (0) | 2022.07.06 |
댓글