Tour of Rust 목차

쓰레드 간에 공유하기

Mutex는 보통 smart pointer가 보유하는 컨테이너 데이터 구조로서, 데이터를 가져오거나 내부 데이터에 대한 mutable 또는 immutable한 참조를 대여할 수 있게 해줍니다. 이는 잠긴 대여를 통해 운영체제가 동시에 오직 하나의 CPU만 데이터에 접근 가능하도록 하고, 원래 쓰레드가 끝날 때까지 다른 쓰레드들을 막음으로써 대여가 남용되는 것을 방지합니다.

멀티쓰레드는 Tour of Rust의 범위를 벗어나지만, Mutex는 여러 개의 CPU 쓰레드가 같은 데이터에 접근하는 것을 조율하는 근본적인 부분입니다.

특별한 smart pointer인 Arc도 있는데, 쓰레드-안전성을 가진 참조 카운트 증가 방식을 사용한다는 것을 제외하고는 Rc와 동일합니다. 이는 동일한 Mutex에 다수의 참조를 가질 때 종종 사용되곤 합니다.