Rust를 사용하여 동시성(Concurrency)을 가진 프로그램을 작성할 때 도움이 되는 내용을 담고 있다.
https://marabos.nl/atomics/ 에서 무료로 내용을 볼 수 있다.
![]() |
|---|
| 책 표지 |
책 소개
Rust는 동시성에 잘 맞는 프로그래밍 언어이다. Rust 생태계안에는 동시성을 위한 자료구조, Lock등 많은 라이브러리가 있다. 그러나 이런 라이브러리를 적용하는것은 어려운일이다. 잘 사용되는 라이브러리 조차도 메모리 순서(Memory ordering) 버그가 드물지 않게 발생한다.
이 책에서 Mara Bos(Rust 라이브러리 개발팀장)는 모든 수준의 Rust 프로그래머가 저수준 동시성에 대한 명확한 이해를 얻을 수 있도록 도와준다. 기본 운영 체제 API와 결합하여 뮤텍스 및 조건 변수와 같은 공통 프리미티브를 구축하는 방법과 원자(Atomics) 및 메모리 순서에 대한 모든 것을 배우게 된다. 이 책을 통하여 Rust의 메모리 모델, 프로세서 및 운영 체제의 역할이 모두 어떻게 조화를 이루는지 확실하게 파악할 수 있다.
이 가이드를 통해 다음을 배울 수 있다.
- 동시성을 올바르게 프로그래밍하기 위해 Rust의 유형 시스템이 예외적으로 잘 작동하는 방법
- 뮤텍스, 조건 변수, Atomics 및 메모리 순서에 관한 모든 것
- Intel 및 ARM 프로세서에서 원자적 연산으로 실제로 일어나는 일
- 운영 체제의 지원으로 잠금을 구현하는 방법
- 동시성, 원자성 및 잠금을 포함하는 올바른 코드를 작성하는 방법
- 자신만의 잠금 및 동기화 프리미티브를 올바르게 빌드하는 방법
예제 코드
책에 있는 예제 코드는 GitHub에서도 확인 할 수 있다. https://github.com/m-ou-se/rust-atomics-and-locks
![Featured image of post [Rust] Rust Atomics and Locks](/post/2023-01-11-rust/tmp_wordcloud_hu_7eaa05e3714b1e8.webp)

![[Rust] Welcome to Comprehensive Rust](/post/2022-12-30-comprehensive-rust/tmp_wordcloud_hu_d1420ff38434cdb6.webp)
![[LLM] DeepSearcher: 로컬에서 구현하는 오픈소스 심층 연구 도구](/post/2025-02-28-deepsearcher-empowering-local-deep-research-with-open-source-innovation/index_hu_f6fb9cb23ef79ead.webp)
![[C/C++] Lamda를 사용해서 unique_ptr의 자원을 자동으로 해제하기](/post/2022-04-04-how-to-use-deleter-for-uniuqe-ptr/tmp_wordcloud_hu_d4209bbb6b4c9df2.webp)
![[.NET] .NET 7 Preview 2 소개 - 더 새로운 경험](/post/2022-03-18-announcing-dotnet-7-preview-2/tmp_wordcloud_hu_6127c0ba8a00ea58.webp)
![[C#] 클래스와 구조체 간의 선택](/post/2022-01-26-class-struct/tmp_wordcloud_hu_150374277d250407.webp)