이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1장 한눈에 살펴보는 자바 동시성 변천사자바 스레드의 간략한 역사__자바는 스레드로 만들어진다__스레드: 자바 플랫폼의 중추자바 1.0 스레드의 기원__스레드 시작하기스레드에 숨어 있는 비용__생성 가능한 스레드 개수고확장성 애플리케이션의 자원 효율성__병렬 실행 전략__이그제큐터 프레임워크 소개__아직 남은 과제스레드 풀의 발전__캐시 선호도와 태스크 분배__Work-Stealing 알고리즘__CompletableFuture를 활용한 작업 흐름 조합또 다른 패러다임의 비동기 프로그래밍__리액티브 프레임워크의 단점자바 동시성의 혁명__가상 스레드의 약속__기존 코드베이스와의 매끄러운 통합__가상 스레드와 플랫폼 스레드__지능적인 블로킹 연산 처리__가상 스레드의 장점정리2장 쉼 없이 CPU를 활용하는 가볍고 부지런한 가상 스레드가상 스레드란__자바의 두 가지 스레드 유형__플랫폼 스레드와의 결정적인 차이가상 스레드 사용 준비__가상 스레드 생성가상 스레드에 적응하기가상 스레드 생성 시연__처리량과 확장성__가상 스레드 확장성의 근본 원칙__실질적인 의미가상 스레드 내부 동작 방식__스택 프레임과 메모리 관리__캐리어 스레드와 운영체제의 개입__블로킹 연산 처리__투명성과 비가시성__비동기 연산 단순화__든든한 구조적 동시성요청 제한을 통한 자원 제약 관리__자바의 세마포어 이해__세마포어를 사용하는 이유가상 스레드의 한계__가상 스레드 고정__ReentrantLock으로 고정 문제 해결하기__네이티브 메서드 호출과 고정가상 스레드에서 ThreadLocal 변수의 문제__가상 스레드의 도전 과제모니터링__ThreadLocal 모니터링__가상 스레드 고정 현상 모니터링__jcmd 스레드 덤프에서 가상 스레드 확인HotSpotDiagnosticMXBean으로 스레드 덤프 생성가상 스레드 마이그레이션 요령__가상 스레드의 장점 되돌아보기__핵심은 확장성이다정리3장 직접 만들어보고 이해하는 최신 동시성 메커니즘스레드 풀__스레드 풀이 필요한 이유__단순한 스레드 풀 만들기__이그제큐터 프레임워크__Callable과 Future: 태스크 결과 처리ForkJoinPool__가상 스레드에서 ForkJoinPool을 사용하는 이유컨티뉴에이션__가상 스레드 직접 만들어보기__가상 스레드와 I/O 폴링정리4장 빈틈없이 견고하고 편리한 구조적 동시성비구조적 동시성의 문제든든한 구조적 동시성구조적 동시성 API 이해__StructuredTaskScope__스코프와 서브태스크: 관계와 생애주기__Joiner를 통한 조인 정책__공통적인 조인 정책들__StructuredTaskScope의 예외 처리__스코프 구성__커스텀 조이너__메모리 일관성 효과__중첩 스코프__관측성정리5장 동시성 모델의 화룡점정, 스코프드 밸류컨텍스트 전달에 따르는 부담__파라미터 오염__인터페이스 취약성__결합도와 테스트 용이성ThreadLocal 소개__ThreadLocal 변수의 한계__가벼운 공유를 향하여ScopedValue의 핵심 구성요소__ScopedValue 실행__ScopedValue와 구조적 동시성__성능 고려사항__사용성 및 API 설계__ScopedValue로의 마이그레이션정리6장 가상 스레드 시대에서 리액티브 자바의 의미리액티브 프로그래밍 이해__블로킹 대 논블로킹__이벤트 기반 아키텍처__비동기 API자바 리액티브 프로그래밍__리액티브 스트림 이해__배압__리액티브 프로그래밍의 장점과 단점정리7장 프레임워크를 통해 알아보는 최신 동시성 프로그래밍스프링 부트__수동 구성쿼커스자카르타 EE정리8장 자바 동시성 프로그래밍의 미래
|
Bazlur Rahman
오명운의 다른 상품
|
| 이 책에서 다루는 내용 |- 플랫폼 스레드와 이그제큐터 프레임워크에서부터 CompletableFuture와 리액티브 프로그래밍에 이르기까지 자바 동시성의 진화 과정- 가상 스레드, 구조적 동시성, 스코프드 밸류의 내부 동작에 대한 심층적인 설명- 새로운 기능을 효과적으로 적용하는 방법을 보여주는 실전 중심 예제- 가상 스레드뿐만 아니라 구조적 동시성과 스코프드 밸류를 포함하는 폭넓은 범위- 스프링 부트, 쿼커스, 자카르타 EE 같은 현대 프레임워크가 가상 스레드를 어떻게 통합하고 있는지에 대한 안내 | 이 책의 대상 독자 |- 가상 스레드와 구조적 동시성을 제대로 이해하고 싶은 개발자- 동시성 코드를 현대화하려는 중급 및 시니어 개발자- 확장 가능한 시스템을 설계하는 아키텍트- 견고한 동시성 애플리케이션을 구축하고자 하는 성능 중심 엔지니어- 새로운 기술을 평가하는 팀 리드- 자바 동시성의 미래가 궁금한 사람 | 이 책의 구성 |1장, ‘한눈에 살펴보는 자바 동시성 변천사’ 자바에서의 동시성 진화를 살펴보는 것으로 시작한다. 플랫폼 스레드에서 출발해 이그제큐터 프레임워크, 포크/조인, CompletableFuture로 이어지는 흐름을 추적하고, 리액티브 프로그래밍을 간략히 소개한다. 이러한 역사적 맥락을 알면 가상 스레드를 왜 게임 체인저(game changer)라고 부르는지 알 수 있게 된다. 그동안 우리가 감수해 온 트레이드오프를 살펴보고, 프로젝트 룸이 왜 근본적으로 다른 접근 방식을 선택했는지 이해하게 된다. 2장, ‘쉼 없이 CPU를 활용하는 가볍고 부지런한 가상 스레드’가상 스레드를 실습 중심으로 소개한다. 가상 스레드가 무엇이며, 플랫폼 스레드와 어떻게 다른지, 그리고 어떻게 생성하는지를 배운다. 처리량과 확장성 개선을 다루는 실용적인 예제를 다루며, 주요 주제로는 세마포어를 활용한 요청 제한과 스레드 고정, ThreadLocal 관련 고려사항과 같은 중요한 제약이 포함된다. 3장, ‘직접 만들어보고 이해하는 최신 동시성 메커니즘’동시성의 내부 동작을 깊이 있게 다룬다. 스레드 풀, 이그제큐터 프레임워크, 그리고 가상 스레드를 구동하는 ForkJoinPool을 분석한다. 특히 컨티뉴에이션(continuation)을 사용해 가상 스레드 구현을 처음부터 직접 만들어보는 것은 3장의 하이라이트라고 할 수 있다. NanoThread를 만들어보면서 가상 스레드가 내부적으로 어떻게 동작하는지 깊이 있게 이해할 수 있다. 4장, ‘빈틈없이 견고하고 편리한 구조적 동시성’프로젝트 룸의 가장 중요한 혁신 중 하나인 StructuredTaskScope를 다룬다. 비구조적 동시성에 존재하는 문제를 어떻게 해결하는지 살펴보고, 다양한 조인(join) 정책을 익히고, 예외를 우아하게 처리하며, 견고한 동시성 애플리케이션을 구축하는 방법을 배운다. 기본 사용법부터 커스텀 조이너(joiner)와 중첩 스코프(nested scope)까지 폭넓게 다룬다. 집필 시점 기준으로 구조적 동시성은 아직 프리뷰 상태다. 이 프리뷰 버전이 크게 바뀌지 않기를 바라지만, 변경사항이 있다면 2판에서 다룰 예정이다. 5장, ‘동시성 모델의 화룡점정, 스코프드 밸류’고도의 동시성을 가진 애플리케이션에서 컨텍스트 전파는 항상 어려운 문제였다. 5장에서는 스코프드 밸류가 가상 스레드 환경에서 ThreadLocal보다 더 나은 대안이 되는 이유를 설명한다. API를 살펴보고, 구조적 동시성 맥락에서의 실용적인 예제를 통해 ThreadLocal에서 언제 어떻게 스코프드 밸류로 전환해야 하는지를 이해하게 된다. 6장, ‘가상 스레드 시대에서 리액티브 자바의 의미’가상 스레드와 리액티브 프로그래밍이 동시성 문제 해결에 접근하는 방식의 차이를 이해하는 것을 목표로 한다. 블로킹 I/O와 논블로킹 I/O, 이벤트 기반 아키텍처, 그리고 각 접근 방식의 트레이드오프를 비교한다. 이를 통해 언제 가상 스레드를 선택하고 언제 리액티브 프레임워크를 선택해야 하는지 합리적으로 판단할 수 있게 된다. 7장, ‘프레임워크를 통해 알아보는 최신 동시성 프로그래밍’주요 프레임워크들이 가상 스레드를 어떻게 수용하고 있는지 살펴본다. 스프링 부트, 쿼커스, 자카르타 EE를 다루며, 실질적인 설정 예제와 모범 사례를 제공한다. 7장은 가상 스레드를 학습하는 단계와 실제 운영 환경에 적용하는 단계 사이의 간극을 메워준다. 8장, ‘자바 동시성 프로그래밍의 미래’자바 동시성 프로그래밍의 미래를 내다보며 핵심 인사이트를 정리한다.
|