도서상세보기

도서명 그로킹 동시성 : 다양한 이야기와 재미있는 일러스트로 풀어나가는 동시성
저자 키릴 보브로프
출판사 길벗
출판일 2024-11-13
정가 33,000원
ISBN 9791140711741
수량
PART I 문어 오케스트라 : 동시성 교향곡 입문하기

CHAPTER 1 동시성이란 무엇인가
1.1 동시성의 중요성
1.2 동시성의 계층
1.3 이 책에서 배우게 될 내용

CHAPTER 2 순차 실행과 병렬 실행
2.1 돌아보기: 프로그램이란 무엇인가?
2.2 순차 실행
2.3 순차 컴퓨팅
2.4 병렬 실행
2.5 병렬 컴퓨팅을 위해 필요한 것
2.6 병렬 컴퓨팅
2.7 암달의 법칙
2.8 구스타프슨의 법칙
2.9 동시성 vs. 병렬성

CHAPTER 3 컴퓨터의 동작 원리
3.1 프로세서
3.2 런타임 시스템
3.3 컴퓨터 시스템의 구조
3.4 동시 하드웨어의 여러 수준

CHAPTER 4 동시성을 구현하는 재료
4.1 동시성 프로그래밍의 단계
4.2 프로세스
4.3 스레드

CHAPTER 5 프로세스 간 통신
5.1 다양한 통신 방식
5.2 스레드 풀 패턴
5.3 패스워드 크랙하기: 파트 2

PART II 동시성을 다루는 촉수의 종류: 멀티태스킹, 분해, 동기화

CHAPTER 6 멀티태스킹
6.1 CPU 중심과 입출력 중심
6.2 멀티태스킹이 필요한 이유
6.3 멀티태스킹: 조감도
6.4 멀티태스킹 환경

CHAPTER 7 작업 분해하기
7.1 의존 관계 분석하기
7.2 작업 분해
7.3 작업 분해: 파이프라인 패턴
7.4 데이터 분해
7.5 분해된 작업의 크기 결정하기

CHAPTER 8 동시성과 관련된 문제 해결하기: 경쟁 조건과 동기화
8.1 공유 자원
8.2 경쟁 조건
8.3 동기화

CHAPTER 9 동시성과 관련된 문제 해결하기: 교착 상태와 기아 상태
9.1 철학자들의 만찬 문제
9.2 데드락
9.3 라이브락
9.4 기아 상태
9.5 동기화 설계하기
9.6 그 외의 주제

PART III 비동기적으로 움직이는 문어들: 여러 판의 피자를 동시에 만들기

CHAPTER 10 논블로킹 I/O
10.1 분산 컴퓨팅의 세계
10
일상 속 예제와 흥미로운 일러스트로
어려운 동시성을 쉽게 배운다!

동시성은 소프트웨어 엔지니어링에서 반드시 필요한 요소로, 컴퓨터 프로그램을 독립적으로 실행할 수 있는 작업으로 분리해 효율적으로 실행하는 접근 방식이다. 복잡성, 병렬성, 스레드, 프로세스, 멀티태스킹이나 코루틴처럼 다양한 기술을 알고 잘 접목시켜야만 동시성의 큰 그림을 그릴 수 있다.
이 책은 동시성이 처음인 독자도 배울 수 있도록 실제 생활에서 볼 수 있는 예제로 동시성의 개념과 원칙을 설명한다. 전문 용어를 사용한 딱딱하고 지루한 설명 대신 이해할 수 있는 단어로 명확하고 쉽게 설명하며, 다양한 이야기로 동시성을 하나하나 풀어나간다. 더불어 복잡하고 어려운 개념들은 일러스트와 그림을 이용해 쉽게 이해할 수 있게 도와준다.
동시성에 대해 전체적인 그림을 어떻게 그려야 할지, 앞으로 어떻게 공부하면 좋을지에 대한 가이드를 제공하며, 직접 실습할 수 있도록 파이썬 예제도 제공한다. 동시성 개념을 깊이 배우고 싶은 주니어 개발자와 동시성 프로그래밍을 더 탄탄히 다지고 싶은 시니어 개발자 모두에게 강력히 추천한다.

이 책에서 다루는 내용
● 동시성 프로그래밍의 작성과 실행
● 성능, 확장성, 회복성을 위한 패턴
● 올바른 하드웨어 선택하기
● 비동기 통신
● 논블로킹 기반 동시성과 이벤트 기반 동시성