[JAVA] Virtual Thread란

유사개발자·2024년 3월 14일
0

Java

목록 보기
2/2

Virtual Thread

Java 21는 Java 8 이후 세번째 LTS 버전이다. 이 버전에서는 가장 큰 업데이트인 가상 스레드라는 기능이 추가되었다.

가상 스레드란?

가상스레드란 기존의 전통적인 Java 스레드에 더하여 새롭게 추가되는 경량 스레드이다. Project Loom의 결과물로 추가된 기능으로 OS 스레드를 그대로 사용하지 않고 JVM 자체적으로 내부 스케줄링을 통해서 사용할 수 있는 경량의 스레드를 제공한다.

Project Loom 이란? 경량의 스레드를 Java에 추가하기 위해서 가상 스레드를 비롯한 여러가지 기능들을 개발하는 프로젝트로 Loom이란 단어는 Thread 의 사전적 정의가 ‘실’ 이라는데 착안하여 실을 엮어 ‘직물을 만든다는 뜻‘이다.

특징

  • 경량성 : 가상 스레드는 훨씬 적은 메모리를 사용하여, 일반적인 OS스레드보다 훨씬 많은 수를 생성하고 운영할 수 있다.

  • 간단한 관리 : 가상 스레드는 스레드 풀을 직접 관리할 필요가 없다. 스레드 스케줄링과 관리는 JVM과 라이브러리에 의해 자동으로 처리된다.

  • 블로킹 작업 친화적 : 기존의 스레드 모델에서 블로킹 I/O 작업은 리소스 낭비 문제를 일으킬 수 있었다. 하지만 가상 스레드는 이러한 작업에서도 효율적으로 작동하도록 설계되었다. 따라서 I/O작업이 많은 애플리케이션에서도 성능 저하 없이 사용할 수 있다.

  • 간단한 API : 가상 스레드를 사용하기 위한 API는 매우 간단하다. 기존의 Thred 클래스와 유사한 방식으로 가상 스레드를 생성하고 실행할 수 있으며, 추가적인 학습 곡선이 거의 없다.

출처 : https://findstar.pe.kr/2023/04/17/java-virtual-threads-1/

profile
개발자와 유사한 개발자입니다

0개의 댓글