Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

가상스레드

자바 동시성에 대한 새로운 접근 ‘가상 쓰레드’

자바 19에서 가장 눈에 띄는 변화는 가상 쓰레드다. 가상 쓰레드는 '프로젝트 룸(Project Loom)’의 일부로 개발됐으며, 자바 19에서 프리뷰 형태로 공개된다.     가상 쓰레드의 작동 방식  가상 쓰레드는 운영체제 프로세스와 애플리케이션 수준 동시성 사이에 추상화 계층을 생성한다. 다르게 말하면, 가상 쓰레드를 사용해 자바 가상 머신이 조율하는 작업을 스케줄링할 수 있으며 JVM은 운영체제와 프로그램 사이에서 중재하는 역할을 한다. 다음 그림은 가상 쓰레드의 아키텍처를 보여준다.   이런 아키텍처에서 애플리케이션은 가상 쓰레드를 인스턴스화하고 JVM(Java Virtual Machine)은 이를 처리할 컴퓨팅 리소스를 할당한다. 이와 대조되는 전통적인 쓰레드의 경우 운영체제(OS) 프로세스에 직접 매핑된다. 전통적인 쓰레드에서는 애플리케이션 코드가 OS 리소스의 준비와 제공을 담당한다. 가상 쓰레드에서는 애플리케이션 가상 쓰레드를 인스턴스화고 따라서 동시성의 필요성을 표현한다. 그러나 운영체제에서 리소스를 획득하고 해제하는 것은 JVM이다. 자바의 가상 쓰레드는 고(Go) 언어의 고루틴(goroutine)과 비슷하다. 가상 쓰레드를 사용할 때 JVM은 애플리케이션의 가상 쓰레드가 파킹된 경우, 즉 유휴 상태이자 새 작업을 대기할 때만 컴퓨팅 리소스를 할당할 수 있다. 이런 유휴 상태는 대부분의 서버에서 흔히 일어난다. 요청에 쓰레드를 할당한 다음 유휴 상태가 되어 데이터 스토어로부터의 응답, 네트워크로부터의 추가 입력과 같은 새 이벤트를 대기한다.  전통적인 자바 쓰레드를 사용하는 경우, 서버가 요청을 대기하는 유휴 상태면 운영체제 쓰레드도 유휴 상태이며 이는 서버의 확장성을 심각하게 저해한다. 오라클의 디벨로퍼 애드보킷 니콜라이 파로그는 “운영체제는 플랫폼 쓰레드의 효율성을 높일 수 없지만 JDK는 자체 쓰레드와 OS 쓰레드 사이에 일 대 일 관계를 설정해서 쓰레드를 더 효과적으로 활용할 수...

자바19 가상스레드 동시성 2022.11.07

IDG 설문조사

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.