728x90
반응형
@Async
-
Spring Boot 3.x에서 @Async와 버추얼 스레드 조합하기Server/Spring Boot 2026. 1. 9. 15:57
기존 @Async는 플랫폼 스레드 풀을 사용한다. 동시 요청이 많아지면 스레드 고갈 문제가 발생하고, 풀 사이즈를 늘리면 메모리 부담이 커진다. Java 21의 버추얼 스레드를 @Async와 조합하면 이 문제를 해결할 수 있다.이 글에서는 설정 방법부터 실무 적용 시 주의점까지 정리한다.배경 지식@Async 기본 동작@Async를 붙이면 해당 메서드는 별도 스레드에서 실행된다. 기본적으로 SimpleAsyncTaskExecutor를 사용하며, 보통은 ThreadPoolTaskExecutor로 커스터마이징해서 쓴다.버추얼 스레드 특징경량 스레드 (수십만 개 생성 가능)I/O 블로킹 시 자동으로 캐리어 스레드 반환JDK 21부터 정식 지원버추얼 스레드 원리에 대한 자세한 내용은 이전 글을 참고하자.설정 방법..