
책소개
비동기, 병렬 처리, 데이터 흐름, 멀티스레딩 등 최신 닷넷 프레임워크와 C# 언어가 제공하는 동시성 기술과 함께 리액티브 프로그래밍, 동시성 기술의 상호운용, 동시 컬렉션, 테스트, 취소 기능, 동기화처럼 동시성과 관련이 있는 다양한 주제를 폭넓게 다룬다. 모든 주제를 간결하고 명확하게 설명하는 동시에 이해를 돕는 간단하고 효과적인 예제를 곁들여 동시성을 처음 접하거나 동시성에 익숙하지 않은 개발자를 동시성의 세계로 이끌어주는 훌륭한 안내서다.
저자소개
출판사소개
목차
1장. 동시성 개요
__비동기 프로그래밍
__병렬 프로그래밍
__리액티브 프로그래밍
__데이터 흐름
__멀티스레드 프로그래밍
__동시성 애플리케이션용 컬렉션
__최신 설계 방식
__핵심 기술 정리
2장. 비동기의 기초
__2.1 일정 시간 동안 일시 정지
__2.2 완료한 작업 반환
__2.3 진행 상황 보고
__2.4 모든 작업의 완료를 대기
__2.5 여러 작업 중 하나의 완료를 대기
__2.6 작업이 완료할 때마다 처리
__2.7 연속 작업용 콘텍스트 회피
__2.8 async Task 메서드의 예외 처리
__2.9 async void 메서드의 예외 처리
__2.10 ValueTask 생성
__2.11 ValueTask 사용
3장. 비동기 스트림
__비동기 스트림과 Task
__비동기 스트림과 IEnumerable
__비동기 스트림과 Task
__비동기 스트림과 IObservable
__정리
____3.1 비동기 스트림 생성
____3.2 비동기 스트림 사용
____3.3 비동기 스트림과 LINQ를 함께 사용
____3.4 비동기 스트림의 취소
__참고
4장. 병렬 처리의 기초
__4.1 데이터의 병렬 처리
__4.2 병렬 집계
__4.3 병렬 호출
__4.4 동적 병렬 처리
__4.5 PLINQ
5장. 데이터 흐름의 기초
__5.1 블록 연결
__5.2 오류 전파
__5.3 블록의 연결 해제
__5.4 블록의 흐름 조절
__5.5 데이터 흐름 블록으로 병렬 처리
__5.6 사용자 지정 데이터 흐름 블록 생성
6장. SystemReactive의 기초
__6.1 닷넷 이벤트 변환
__6.2 콘텍스트로 알림 전달
__6.3 Window와 Buffer로 이벤트 데이터 그룹화
__6.4 Throttle과 Sample로 이벤트 스트림 조절
__6.5 타임아웃
7장. 테스트
__7.1 async 메서드의 단위 테스트
__7.2 async 메서드의 실패 사례를 단위 테스트
__7.3 async void 메서드의 단위 테스트
__7.4 데이터 흐름 메시의 단위 테스트
__7.5 System
__7.6 시간과 관련이 있는 System
8장. 상호운용
__8.1 'Async' 메서드와 'Completed' 이벤트용 비동기 래퍼
__8.2 'Begin'과 'End' 메서드용 비동기 래퍼
__8.3 범용 비동기 래퍼
__8.4 병렬 처리 코드용 래퍼
__8.5 System
__8.6 async 코드용 System
__8.7 비동기 스트림과 데이터 흐름 메시
__8.8 System
__8.9 System
9장. 컬렉션
__9.1 불변 스택과 불변 큐
__9.2 불변 리스트
__9.3 불변 집합
__9.4 불변 딕셔너리
__9.5 스레드로부터 안전한 딕셔너리
__9.6 블로킹 큐
__9.7 블로킹 스택과 블로킹 백
__9.8 비동기 큐
__9.9 큐 조절
__9.10 큐 샘플링
__9.11 비동기 스택과 비동기 백
__9.12 블로킹 큐와 비동기 큐
10장. 취소
__10. 1 취소 요청 실행
__10.2 폴링으로 취소 요청에 대응
__10.3 타임아웃으로 취소
__10.4 비동기 코드의 취소
__10.5 병렬 코드의 취소
__10.6 System
__10.7 데이터 흐름 메시의 취소
__10.8 취소 토큰 소스의 연결
__10.9 다른 취소 방식과 상호운용
11장. 함수형 친화적 OOP
__11.1 비동기 인터페이스와 상속
__11.2 비동기 생성: 팩토리
__11.3 비동기 생성: 비동기 초기화 패턴
__11.4 비동기 속성
__11.5 비동기 이벤트
__11.6 비동기 삭제
12장. 동기화
__12.1 블로킹 잠금
__12.2 비동기 잠금
__12.3 블로킹 신호
__12.4 비동기 신호
__12.5 조절
13장. 스케줄링
__13.1 스레드 풀에 작업 스케줄링
__13.2 작업 스케줄러를 사용해서 코드 실행
__13.3 병렬 코드의 스케줄링
__13.4 스케줄러로 데이터 흐름 동기화
14장. 다양한 동시성 상황
__14.1 공유 리소스 초기화
__14.2 System
__14.3 비동기 데이터 바인딩
__14.4 암시적 상태
__14.5 동기 코드와 비동기 코드를 한 번에 구현
__14.6 데이터 흐름 메시를 사용한 철도 지향 프로그래밍
__14.7 진행률 업데이트의 조절
부록 A. 예전 플랫폼 지원
부록 B. 비동기 패턴의 인식과 해석
배송
- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.
상품 품절
- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.
주문취소/변경
- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.
반품/교환
- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.
반품/교환 불가 사유
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상 환불 지연에 따른 배상
- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.