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

4장. 구조적 동시성

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

단순성은 안정성을 위한 전제 조건입니다.

에드거 W. 디크스트라

이전 장에서는 가상 스레드가 Java 동시성에서 블로킹 작업을 처리할 수 있게 함으로써 가능성의 세계를 열어주는 방법을 살펴봤습니다. 큰 오버헤드 없이 수천 개의 경량 가상 스레드를 생성할 수 있기 때문에 블로킹 호출은 더 이상 걱정할 필요가 없습니다. 그러나 여전히 해결해야 할 한 가지 중요한 문제는 작업이 여러 스레드로 세분화되어 분산될 때 작업 간의 관계와 종속성을 관리하는 것입니다.

상위 작업에 각각 다른 스레드에서 실행되는 여러 종속 하위 작업이 있는 시나리오를 상상해 보세요. 상위 작업이 예기치 않게 종료되면 하위 작업은 계속 독립적으로 실행됩니다. 이러한 하위 작업의 결과는 서로 무관해지지만 여전히 리소스를 소비합니다.

게다가 모든 하위 작업이 완료되어야만 상위 작업이 완료되는 경우, 하위 작업 중 하나라도 실패하면 전체 작업이 취소되는 것이 이상적입니다. 이러한 조정 부족으로 인해 수많은 고아 스레드가 발생할 수 있습니다. 이러한 고아 스레드는 불필요한 작업을 수행하여 귀중한 메모리와 프로세서 시간을 소모합니다. 이러한 비효율성은 종종 상당한 비용을 수반합니다.

Java의 ExecutorServiceFuture 과 같은 기존 동시성 모델에서는 작업 계층 구조가 본질적으로 지원되지 않기 때문에 취소를 전파하거나 오류를 체계적으로 처리하기가 어렵습니다. 그 결과 동시 프로그래밍에 대한 접근 방식이 단편적이고 종종 오류가 발생하기 쉽습니다.

구조적 동시성은 관련 작업 그룹을 하나의 작업 단위로 취급하여 이러한 문제를 해결하는 패러다임입니다. 하위 작업의 라이프사이클이 상위 작업에 바운디드되도록 하여 동시 실행을 위한 투명하고 관리하기 쉬운 구조를 제공합니다. 이는 오류 처리 및 취소를 단순화할 뿐만 아니라 동시 실행 코드의 안정성과 관찰 가능성을 향상시킵니다.

이 장에서는 Java의 구조적 동시성을 살펴보고 그 장점과 기존 동시성 모델의 한계를 해결하는 방법을 살펴봅니다. 또한 StructuredTaskScope API를 소개하고, 작업 계층 구조를 관리하는 데 어떻게 도움이 되는지 논의하며, 실제 예제를 통해 그 사용법을 설명합니다. 이 장이 끝나면 Java 애플리케이션에서 구조화된 동시성을 구현하는 방법과 보다 강력하고 유지 보수성 있는 동시 코드를 작성하는 방법을 확실히 이해하게 될 것입니다.

구조화되지 않은 동시성의 과제

Java에서 동시성은 전통적으로 ExecutorServiceFuture 과 같은 추상화를 사용해 관리해 왔습니다. 이러한 클래스는 작업을 동시에 실행할 수 있는 수단을 제공하지만, 특히 작업을 조정해야 하는 경우 몇 가지 문제를 야기하기도 합니다.

웹 애플리케이션에서 제품 세부정보와 관련 리뷰를 가져와 표시해야 하는 일반적인 시나리오를 생각해 보세요. ExecutorService ...

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