C# 동시성 프로그래밍 2/e : 실제 애플리케이션에 적용하는 효율적인 비동기, 병렬, 멀티스레드 프로그래밍

C# 동시성 프로그래밍 2/e : 실제 애플리케이션에 적용하는 효율적인 비동기, 병렬, 멀티스레드 프로그래밍

$30.00
Description
비동기, 병렬 처리, 데이터 흐름, 멀티스레딩 등 최신 닷넷 프레임워크와 C# 언어가 제공하는 동시성 기술과 함께 리액티브 프로그래밍, 동시성 기술의 상호운용, 동시 컬렉션, 테스트, 취소 기능, 동기화처럼 동시성과 관련이 있는 다양한 주제를 폭넓게 다룬다. 모든 주제를 간결하고 명확하게 설명하는 동시에 이해를 돕는 간단하고 효과적인 예제를 곁들여 동시성을 처음 접하거나 동시성에 익숙하지 않은 개발자를 동시성의 세계로 이끌어주는 훌륭한 안내서다.

저자

스티븐클리어리

저자:스티븐클리어리
ARM펌웨어(ARMFirmware)에서애저(Azure)에이르기까지폭넓은경험이있는개발자다.부스트C++라이브러리를시작으로초창기부터오픈소스에이바지했으며,직접만든라이브러리와유틸리티를발표해오고있다.

역자:김홍중
중앙대학교컴퓨터공학과를졸업하고첫직장인삼성전자에서PDA,셋톱박스,DTV등다양한기기에들어가는윈도우CE,임베디드리눅스애플리케이션을개발했다.2007년답답한삶을털어내고훌쩍미국으로날아가한껏여유를즐기다가빈손으로돌아왔다.이후웹호스팅사,게임개발사,스타트업등여러회사를거치며다양한iOS앱을개발했고,한동안번역,강의,외주작업으로연명하기도했다.언제이룰수있을지모르지만,독립개발자로우뚝서는꿈을포기하지않고있다.에이콘출판사에서출간한『플러터앱개발첫걸음』(2020),『유니티2D게임개발』(2020)등을번역했다.

목차

1장.동시성개요
__비동기프로그래밍
__병렬프로그래밍
__리액티브프로그래밍
__데이터흐름
__멀티스레드프로그래밍
__동시성애플리케이션용컬렉션
__최신설계방식
__핵심기술정리

2장.비동기의기초
__2.1일정시간동안일시정지
__2.2완료한작업반환
__2.3진행상황보고
__2.4모든작업의완료를대기
__2.5여러작업중하나의완료를대기
__2.6작업이완료할때마다처리
__2.7연속작업용콘텍스트회피
__2.8asyncTask메서드의예외처리
__2.9asyncvoid메서드의예외처리
__2.10ValueTask생성
__2.11ValueTask사용

3장.비동기스트림
__비동기스트림과Task
__비동기스트림과IEnumerable
__비동기스트림과Task>
__비동기스트림과IObservable
__정리
____3.1비동기스트림생성
____3.2비동기스트림사용
____3.3비동기스트림과LINQ를함께사용
____3.4비동기스트림의취소
__참고

4장.병렬처리의기초
__4.1데이터의병렬처리
__4.2병렬집계
__4.3병렬호출
__4.4동적병렬처리
__4.5PLINQ

5장.데이터흐름의기초
__5.1블록연결
__5.2오류전파
__5.3블록의연결해제
__5.4블록의흐름조절
__5.5데이터흐름블록으로병렬처리
__5.6사용자지정데이터흐름블록생성

6장.SystemReactive의기초
__6.1닷넷이벤트변환
__6.2콘텍스트로알림전달
__6.3Window와Buffer로이벤트데이터그룹화
__6.4Throttle과Sample로이벤트스트림조절
__6.5타임아웃

7장.테스트
__7.1async메서드의단위테스트
__7.2async메서드의실패사례를단위테스트
__7.3asyncvoid메서드의단위테스트
__7.4데이터흐름메시의단위테스트
__7.5System
__7.6시간과관련이있는System

8장.상호운용
__8.1'Async'메서드와'Completed'이벤트용비동기래퍼
__8.2'Begin'과'End'메서드용비동기래퍼
__8.3범용비동기래퍼
__8.4병렬처리코드용래퍼
__8.5System
__8.6async코드용System
__8.7비동기스트림과데이터흐름메시
__8.8System
__8.9System

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.6System
__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.2System
__14.3비동기데이터바인딩
__14.4암시적상태
__14.5동기코드와비동기코드를한번에구현
__14.6데이터흐름메시를사용한철도지향프로그래밍
__14.7진행률업데이트의조절

부록A.예전플랫폼지원
부록B.비동기패턴의인식과해석

출판사 서평

이책에서다루는내용
■async와await를활용하는비동기작업
■비동기스트림으로코드개선
■닷넷의병렬작업라이브러리와함께병렬처리프로그래밍
■닷넷의TPL데이터흐름라이브러리로데이터흐름파이프라인생성
■LINQ를기반으로구축한System.Reactive의기능
■스레드로부터안전한컬렉션과불변컬렉션활용
■동시성코드의단위테스트
■스레드풀활용
■깔끔하고협조적인취소
■동시성기술의결합이필요한상황
■비동기친화적OOP프로그래밍
■예전비동기방식을사용하는코드를인식하는방법과최신코드로변환하는방법

이책의대상독자
최신동시성기법을배우려는개발자를대상으로하며,독자가제네릭컬렉션(genericcollection),열거자,LINQ를이해할정도의닷넷(.NET)경험이있다고가정한다.멀티스레딩또는비동기프로그래밍에관한지식은전혀필요하지않다.하지만이런분야에지식이있더라도여전히유용할수있다.더안전하고사용하기쉬운최신라이브러리를소개하는책이기때문이다.
동시성은모든애플리케이션에서유용하다.데스크톱,모바일,서버애플리케이션에상관없이이제동시성은사실상전반적인요구사항이다.이책의내용을활용하면더빨리반응하는사용자인터페이스,규모변경이더쉬운서버를만들수있다.이미동시성은어디에나존재하는지경에이르렀고,이제동시성기법의이해와활용은전문개발자의필수지식이다.

이책의구성
1장은병렬,비동기,리액티브,데이터흐름등이책에서다룰다양한종류의동시성을소개한다.
2장에서6장은1장에서소개한동시성을하나하나철저하게설명한다.
이후7장부터14장은각각동시성의특정측면을다루며일반적인동시성문제의해결책에관한참고자료역할을한다.
이미동시성에익숙하더라도1장은읽거나최소한훑어보기를권한다.

이책은최신동시성기법만을다루며,최신방식을사용해서동시성을소개한다.병렬,비동기,리액티브프로그래밍등다양한종류의동시성을다루지만,다른책과온라인자료에서충분히다루고있는전통적인기법은다루지않는다.