Skip to Content
Java의 현대적 동시성
book

Java의 현대적 동시성

by A N M Bazlur Rahman
September 2025
Beginner to intermediate
336 pages
5h 57m
Korean
O'Reilly Media, Inc.
Content preview from Java의 현대적 동시성

2장. 가상 스레드 이해하기

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

안정성의 대가는 최고의 단순성을 추구하는 것입니다. 이는 부자들이 가장 지불하기 어려운 대가입니다.

토니 호어

가상 스레드는 Java 동시성 툴킷에 추가된 획기적인 기능으로, 개발자가 동시 프로그램을 작성하는 방식을 근본적으로 변화시켜 대규모 동시성의 기본 단위로 스레드를 실용적으로 사용할 수 있게 해줍니다. 이 장에서 자세히 설명하겠지만 가상 스레드는 수년 동안 사용되어 온 플랫폼 스레드 또는 클래식 스레드와 크게 다릅니다. 특히 플랫폼 스레드는 기본 운영 체제 또는 POSIX와 같은 스레드 라이브러리에 의해 관리되는 반면, 가상 스레드는 Java 가상 머신(JVM) 자체에서 관리되는 경량 스레드입니다. OS 관리형 스레드에서 JVM 관리형 스레드로의 전환은 단순한 구현 세부 사항 이상의 의미를 지니며, 기존 스레드에서는 이러한 설계가 비현실적이었던 메모리 및 성능 저하 없이 애플리케이션이 수백만 개의 스레드를 생성할 수 있게 해줍니다. 이 장에서는 가상 스레드의 아키텍처를 살펴보고, 플랫폼 스레드와 어떻게 다른지 논의하고, 최신 Java 애플리케이션을 위해 가상 스레드를 만든 동기를 살펴보고, 전례 없는 확장성을 제공하면서 동시 프로그래밍을 단순화하는 방법을 살펴봄으로써 가상 스레드에 대해 자세히 알아볼 것입니다.

가상 스레드란 무엇인가요?

가상 스레드( )는 JVM에서 관리하므로 스케줄링 및 관리를 운영 체제에 의존하는 기존 스레드보다 더 효율적으로 작동할 수 있습니다. 가상 스레드는 기본적으로 포크/조인 풀의 스레드인 캐리어 스레드 위에서 실행됩니다. 이러한 설계를 통해 가상 스레드는 고급 스레드 풀링 메커니즘과 효율적인 작업 훔치기 알고리즘의 이점을 이어받을 수 있습니다.

한 가지 중요한 점은 JVM 내에서 구현된 가상 스레드 스케줄러는 작업 훔치기 ForkJoinPool 를 기반으로 하며, FIFO(First-In, First-Out) 모드로 작동한다는 점입니다. 이 ForkJoinPool 는 가상 스레드 스케줄링의 기반이 되며, 병렬 스트림 구현과 같은 다른 용도로 사용되는 공통 풀과는 달리 LIFO(Last-In, First-Out) 모드로 작동합니다.

가상 스레드 스케줄러의 병렬성은 가상 스레드 스케줄링에 사용할 수 있는 플랫폼 스레드 수를 나타내는 구성 가능한 매개변수입니다. 기본적으로 시스템에서 사용 가능한 프로세서 수로 설정되어 하드웨어 리소스를 최적으로 활용할 수 있도록 합니다. 그러나 개발자는 jdk.virtualThreadScheduler.parallelism 시스템 속성을 사용하여 이 매개 변수를 미세 조정하여 특정 애플리케이션 요구 사항 및 워크로드 특성에 따라 병렬 처리 수준을 조정할 수 있습니다.

다음과 같이 Java 애플리케이션을 시작할 때 -D 명령줄 옵션을 사용하여 Java에서 시스템 속성을 설정할 수 있습니다:

java -Djdk ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

머신러닝 시스템 설계

머신러닝 시스템 설계

칩 후옌
이펙티브 러스트

이펙티브 러스트

데이비드 드라이스데일
자바 개발자를 위한 데브옵스 툴

자바 개발자를 위한 데브옵스 툴

스티븐 친, 멜리사 맥케이, 익스헬 루이츠, 바루크 사도구르스키

Publisher Resources

ISBN: 9798341670174