Virtual Thread
- Java21 에서 새로운 경량 스레드 모델로 Virtual Thread 가 제공되었다.
이를 기반으로 기존의 Java Thread 환경과 Virtual Thread 환경을 비교해보자.
- 경량화 모델로 Thread 가 점차 늘어나고 Thread 가 가지는 양의 자체도 늘어나게 되면서 Context Switch 비용 등 무시하지 못할 정도가 되었다.
- 위와 같은 점을 Go, Kotlin 에서는 coroutine 등을 제공해왔는데 Java 에서는 Java21 에서 제공되게 된다.
- 아직까지는 최신 버전에 한해서만 호환이 가능하고, Virtual Thread 를 사용하는 환경에 Block-I/O 가 주를 이루고 있다면 생각한 만큼의 성능이 나오지 않을 수 있다는 점이 있다.
참고
Java의 미래, Virtual Thread | 우아한형제들 기술블로그
Virtual Thread의 기본 개념 이해하기
[Project Loom] Virtual Thread에 봄(Spring)은 왔는가 | 카카오페이 기술 블로그