러스트 동시성 프로그래밍 : Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기

러스트 동시성 프로그래밍 : Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기

$26.00
저자

마라보스

저자:마라보스(MaraBos)

러스트라이브러리팀의리더.러스트표준라이브러리를유지하고러스트에서실시간제어시스템을구축합니다.그녀가설립한회사FusionEngineering에서수년간동시성시스템을운영했습니다.또한러스트시스템에서가장많이사용되는라이브러리를유지하고안전에중요한시스템을매일작업하면서실무에실제로적용할수있는경험을쌓았습니다.



역자:윤인도

SAPLabsKorea의백엔드개발자.한줄의코드가세상을더나은곳으로바꿀수있다고믿

으며,많은이에게지식을전파하기위해여러기업과대학을오가며강연을하고있습니다.최근에는프로그래머스스쿨에서‘파이썬프로그래머를위한러스트입문’온라인강의를진행습니다.이외에도클래스101에서‘파이썬기초부터업무자동화’,베어유에서‘ReactApp만들기’등온라인교육경력이다수있습니다.

목차


CHAPTER1러스트동시성의기초
1.1러스트의스레드
1.2범위스레드
1.3스레드소유권과레퍼런스카운팅
1.4소유권대여와데이터경합
1.5내부가변성
1.6스레드안전성:Send와Sync
1.7잠금:뮤텍스와RwLock
1.8대기:파킹과조건변수
요점정리

CHAPTER2아토믹
2.1아토믹한데이터load및store연산
2.2fetch-and-modify연산
2.3compare-and-exchange연산
요점정리

CHAPTER3메모리순서
3.1메모리순서재정렬과최적화
3.2메모리모델
3.3happens-before관계
3.4느슨한메모리순서
3.5해제순서와획득순서
3.6소비순서
3.7순차적으로일관된순서
3.8펜스
3.9자주발생하는오해
요점정리

CHAPTER4스핀락구현해보기
4.1가장간단한구현체
4.2Unsafe스핀락
4.3잠금가드를사용한안전한인터페이스
요점정리

CHAPTER5채널구현해보기
5.1간단한뮤텍스기반채널
5.2언세이프원샷채널
5.3런타임검사를통한안전성
5.4타입을사용한안전성
5.5할당을피하기위한소유권대여
5.6차단
요점정리

CHAPTER6Arc구현해보기
6.1기본적인레퍼런스카운팅
6.2위크포인터
6.3최적화
요점정리

CHAPTER7프로세서이해하기
7.1프로세서명령어
7.2캐싱
7.3재정렬
7.4메모리순서
요점정리

CHAPTER8운영체제의기본요소
8.1커널인터페이스
8.2pOSIX
8.3리눅스
8.4맥OS
8.5윈도우
요점정리

CHAPTER9잠금구현해보기
9.1뮤텍스
9.1.1시스템콜피하기
9.1.2좀더최적화해보기
9.1.3벤치마킹
9.2조건변수
9.2.1시스템콜피하기
9.2.2가짜깨우기피하기
9.3읽기/쓰기잠금
9.3.1쓰기스레드의무의미한반복피하기
9.3.2쓰기고갈피하기

CHAPTER10아이디어와제안
10.1세마포어
10.2RcU
10.3잠금없는연결리스트
10.4큐기반잠금
10.5parkinglot기반잠금
10.6순차잠금
10.7교육용자료

출판사 서평

러스트언어로안전성과성능을동시에극대화하다

이책은동시성을최대한활용하여효율적인코드를작성하기위해Atomic과Lock을중심으로실무지식을제공하는러스트핵심가이드입니다.Atomic과Lock연산의활용법은물론,Mutex를사용하여안전하게데이터에접근하는방법에대한핵심원칙까지소개합니다.뿐만아니라,동시성코드에서중요한메모리순서와관련된개념을자세히설명하고있어여러스레드간에데이터를안전하게공유하거나수정하기위한Arc와Mutex에대한심층적인내용도체계적으로배워나갈수있습니다.이책을통해동시성프로그래밍에가장최적화된러스트를활용하여다양한동시성문제에유연하게대응하고안전한소프트웨어를개발하는데필요한기술을습득하길바랍니다.

이책의내용

*운영체제의지원을받아Lock구현하기
*Mutex,Atomic,조건변수,메모리순서
*자체Lock및동기화기본요소를구축하기
*인텔및ARM프로세서에서Atomic연산활용하기
*러스트의타입시스템이동시성프로그램을작동하는방법
*동시성,Atomic,Lock을포함하는코드를올바르게작성하는방법

추천사

이유명한책을드디어한국어로접할수있게되었습니다!꼭러스트공부가아니더라도,동시성프로그래밍혹은저수준메모리모델에대해알고싶은분들에게추천드립니다.
-조경민,KAIST동시성및병렬성연구실

이책은러스트를이용한동시성프로그래밍방법뿐만아니라다양한예제를통해그내부원리까지자세히설명합니다.메모리장벽이나재정렬의기본적인지식부터실제코드까지쉽게이해할수있도록구성되어있어,동시성프로그래밍을근본원리부터배우고싶은사람에게큰도움이될것입니다.
-김기오,라인플러스

이책에서는러스트의동시성이내부적으로어떻게동작하는지에대해Deep-dive하게다가가서러스트가다루는동시성의철학까지도느낄수있습니다.
-김동진,한화정밀기계솔루션개발팀

단순히코드를작성하는것을넘어,프로세서와운영체제에대한깊은이해를통해동시성프로그래밍이요구하는핵심요소들을배울수있습니다.
-박태준,둡

러스트의메모리모델및동시성도구들에대한내부구현을심도있게설명하는도서입니다.러스트의기초를알고있는상태에서Arc나Mutex같은동시성도구들이어떻게동작하는지평소에궁금하셨던분이라면이책을통해강력한인사이트를얻을수있습니다.
-이원규,삼성전자Cloud팀(MX)

본서는동시성도구의내부가어떻게구현되어있는지,아키텍처나OS별특성을어떻게추상화하는지에대해깊이있게설명하고있습니다.
-차정윤,삼성전자S/W인프라개발그룹(MX)