가상 스레드
무거운 OS 스레드 대신 수백만 개의 경량 가상 스레드를 생성합니다.
코드 비교
✕ Java 8
Thread thread = new Thread(() -> {
System.out.println("hello");
});
thread.start();
thread.join();
✓ Java 21+
Thread.startVirtualThread(() -> {
IO.println("hello");
}).join();
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
경량
가상 스레드는 KB의 메모리를 사용하고, 플랫폼 스레드는 MB를 사용합니다.
확장 가능
수백만 개의 스레드를 생성할 수 있습니다 — 풀 크기 조정 불필요.
단순한 모델
비동기 코드처럼 확장되는 블로킹 코드를 작성합니다.
이전 방식
플랫폼 스레드
모던 방식
가상 스레드
JDK 버전
21
난이도
초급
JDK 지원
가상 스레드
사용 가능
JDK 21 LTS (2023년 9월) 이후 널리 사용 가능
동작 원리
가상 스레드는 OS가 아닌 JVM이 관리하는 경량 스레드입니다. 스레드 풀을 조정하지 않고 수백만 개를 만들 수 있습니다. HTTP 호출, 데이터베이스 쿼리 같은 I/O 바운드 작업에 이상적입니다.
관련 문서