Java Concurrent(동시성) 프로그래밍
- 멀티 프로세싱과 멀티 스레딩 지원
- 멀티프로세싱 : ProcessBuilder
- 멀티쓰레드 : Thread 페이지 참조
- 멀티 쓰레드에서 쓰레드의 결과값을 받을 수 있음
Future 사용의 문제점
- get() 메서드를 사용시 강제 Blocking
CompletableFuture의 개선
CompletableFuture의 사용법
클래스 다이어그램
CompletableFuture implements Future, CompletionStage
생성 및 사용
CompletableFuture<제네릭> 변수명 = new CompletableFuture<>();
CompletableFuture<Void> 변수명 = CompletableFuture.runAsync(()->{
System.out.println("Hello");
});
CompletableFture<String> 변수명 = CompletableFuture.supplyAsync(() -> {
});
// 콜백 사용
CompletableFture<String> 변수명 = CompletableFuture.supplyAsync(() -> {
}).thenRun() ;
콜백 등록