Spring Boot

Async와 스케줄링

@Async를 사용한 비동기 실행, @Scheduled를 사용한 스케줄링, ThreadPoolTaskExecutor, 시간 관리

25 면접 질문·
Mid-Level
1

Spring에서 메서드를 비동기로 만드는 어노테이션은 무엇입니까?

답변

@Async는 메서드를 비동기 실행 대상으로 표시합니다. Spring은 TaskExecutor를 통해 이 메서드를 별도의 thread에서 실행합니다. 이 메커니즘을 활성화하려면 configuration 클래스에 @EnableAsync가 필요합니다. 메인 thread를 차단하지 않고 긴 작업(이메일 발송, 파일 처리)을 수행하는 데 유용합니다. 메서드는 void, Future 또는 CompletableFuture를 반환할 수 있습니다.

2

Spring에서 @Async 메서드 지원을 활성화하는 어노테이션은 무엇입니까?

답변

@EnableAsync는 @Async 어노테이션의 처리를 활성화합니다. @Configuration 클래스에 배치해야 합니다. 이 어노테이션이 없으면 @Async는 무시되고 메서드는 동기적으로 실행됩니다.

3

@Async 메서드의 결과를 가져올 수 있는 레거시 반환 타입은 무엇입니까?

답변

Future<T>는 비동기 메서드의 전통적인 반환 타입입니다. future.get()(블로킹)을 통해 결과를 가져올 수 있습니다. 현재는 함수형 프로그래밍과 더 나은 조합성 때문에 CompletableFuture<T>가 선호됩니다.

4

@Async 메서드에서 Future 대비 CompletableFuture의 주요 장점은 무엇입니까?

5

Spring에서 AsyncResult는 무엇을 위해 사용됩니까?

+22 면접 질문

다음 면접을 위해 Spring Boot을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기