강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của hek31676608
hek31676608

câu hỏi đã được viết

Đặt nền tảng để cải thiện hiệu suất của nhà phát triển phần cuối

Hãy thử sử dụng phương pháp không đồng bộ

ExecutorService와 CompletableFuture의 차이점과 역할

Viết

·

227

·

Đã chỉnh sửa

0

안녕하세요! 비동기 코드에 관해 질문이 있습니다. ExecutorService 는 스레드를 관리하는 역할을 하는것이고 CompletableFuture 가 실제로는 비동기 요청을 처리하는 것으로 이해하였는데 맞을까요?

 

Future 은 예외 처리를 할 수 없기 때문에 잘 쓰이기 않을까요??CompletableFuture 가 지원하는 기능이 더 많기 때문에 주로 CompletableFuture 를 사용하나요?

javamysqlspring-bootcacheindex

Câu trả lời 2

1

incudev2님의 프로필 이미지
incudev2
Người chia sẻ kiến thức

안녕하세요! EunKyung Hwang 님

 

-ExecutorService는 스레드 풀을 관리하고, 비동기 작업을 수행할 스레드를 제공

-CompletableFuture는 비동기 작업을 수행하고 결과를 처리하는 API

-추가로 CompletableFuture를 사용할 때 별도의 Executor를 명시적으로 설정하지 않으면, 내부적으로 ForkJoinPool.commonPool()을 사용

 

CompletableFuture는 Future을 단점을 보완하여 나온것으로 Future 단점을 키워드로 찾아보는 것을 추천드립니다.!

 

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. EunKyung Hwang님.

비동기 프로그래밍에서 ExecutorServiceCompletableFuture의 역할과 차이점에 대해 질문하셨군요.

  1. ExecutorService

    • 역할: Java에서 ExecutorService는 스레드 풀을 관리하는 인터페이스로, 스레드의 생성을 제어하고, 실행을 관리하며, 종료 및 기타 상태 정보를 처리합니다. 주로 스레드 생성을 제어하고, 작업을 스레드 풀 내에서 비동기적으로 실행하기 위해 사용됩니다.
    • 관련 링크: ExecutorService Java Documentation
  2. CompletableFuture

    • 역할: CompletableFuture는 Java 8에서 도입된 클래스로, 비동기 프로그래밍을 더 직관적이고 강력하게 수행할 수 있도록 도와줍니다. CompletableFuture는 비동기 작업을 처리하고, 작업 완료 후에 콜백 메소드(예: thenApply, thenAccept, exceptionally 등)를 이어붙여 후속 작업을 처리하는 방식으로 사용할 수 있습니다.
    • 장점: 비동기 작업의 결과를 기다리거나 비동기 작업이 완료된 각각의 특정 시점에 작업을 수행하고자 할 때 유용합니다. 또한, 예외 처리를 위한 메소드도 제공하여 예외 발생 시의 적절한 대응을 쉽게 할 수 있습니다.
    • 관련 링크: CompletableFuture Java Documentation
  3. Future와의 비교

    • Future는 비동기로 작업의 결과를 받을 수 있는 방법을 제공하는 기본 인터페이스이지만, 블로킹 방식으로 결과를 기다리거나 예외를 적절히 처리하는데 있어 한계가 있었습니다.
    • CompletableFuture는 보다 풍부한 기능 셋을 제공하여 비동기 프로그래밍 패턴을 유연하고 효율적으로 구현할 수 있으며, 이는 Future에 비해 더욱 강력한 사용성을 제공합니다. 그로 인해, 많은 경우 CompletableFuture가 더 선호됩니다.

이와 관련된 추가적인 질문이나 궁금한 사항이 있다면 언제든지 말씀해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của hek31676608
hek31676608

câu hỏi đã được viết

Đặt câu hỏi