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의 현대적 동시성

3장. Java의 최신 동시성 메커니즘

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

모든 사물에는 원인이 있기 때문에 그 원인을 알기 전에는 어떤 지식도 획득되거나 완성되지 않습니다.

이븐 시나(아비세나), 서기 1025년경

무언가를 사용하는 방법을 아는 것도 중요하지만, 그것이 어떻게 작동하는지 이해하는 것은 필수적입니다. 내부 작동 원리를 이해하면 더 잘 이해할 수 있을 뿐만 아니라 발생하는 문제도 빠르게 해결할 수 있습니다. 그렇기 때문에 가상 스레드가 구현된 방식과 그 내부를 아는 것은 Java 개발자에게 매우 중요합니다. 이 장에서는 가상 스레드가 내부적으로 어떻게 작동하고 구현되는지 살펴보겠습니다.

가상 스레드가 구현되는 방식을 이해하려면 두 가지 개념을 알아야 합니다. 하나는 ForkJoinPool 이고, 다른 하나는 연속성입니다. ForkJoinPool 은 가상 스레드를 스케줄링하는 스케줄러입니다. 연속은 가상 스레드가 실행을 일시 중지했다가 일시 중지된 지점에서 다시 시작할 수 있는 방법의 한 측면입니다. 스레드 풀을 소개하는 것으로 시작하여 ForkJoinPool 및 가상 스레드를 수용하기 위해 약간 다르게 구현된 방법에 대해 점차적으로 자세히 살펴보겠습니다.

스레드 풀

첫 번째 장에서는 기본적으로 스레드 풀을 구현하는 Java Executor 프레임워크에 대해 설명했습니다. 하지만 스레드 풀이 어떻게 작동하는지, 가장 중요한 스레드 풀이 왜 필요한지에 대해서는 충분히 설명하지 못했습니다.

이름에서 알 수 있듯이 스레드 풀은 애플리케이션이 시작될 때 생성되어 애플리케이션 전체에서 계속 실행되는 스레드 그룹입니다. 스레드 풀을 만드는 전략은 풀의 종류에 따라 다를 수 있지만, 핵심적인 아이디어는 여러 개의 스레드를 준비하고 계속 실행한다는 것입니다. 스레드 풀에는 작업을 보관할 대기열이 있습니다. 대기열에서 작업을 선택하고 스레드를 사용할 수 있게 되는 즉시 작업을 실행합니다. 실행이 완료되면 다음 작업을 선택하고 대기열에 사용 가능한 작업이 있는 동안 작업을 계속 실행합니다. 사용 가능한 작업이 없으면 새 작업을 사용할 수 있을 때까지 기다립니다. 모든 스레드가 다른 작업을 실행하는 중이면 추가 작업이 대기열에 배치되고 스레드를 사용할 수 있게 될 때까지 대기합니다.

스레드 풀이 필요한 이유는 무엇인가요?

1장에서 살펴본 것처럼 스레드를 만드는 것은 쉽지만, 임시로 많은 스레드를 만드는 것은 문제가 될 수 있습니다. 요구가 증가함에 따라 임시로 스레드를 계속 생성하면 결국 운영 체제에서 허용하는 최대 스레드 수에 도달하여 애플리케이션이 충돌하는 바람직하지 않은 결과를 초래할 수 있습니다. 실행 중인 애플리케이션에서 생성할 수 있는 스레드 수를 제어하고 싶을 때 스레드 풀을 사용하면 이러한 제어가 가능합니다. 또한 너무 많은 동시 작업으로 인해 압도당할 수 있는 리소스를 자연스럽게 속도 제한할 수 있는 방법도 제공합니다. ...

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