RUST · SHARED
단일 스레드와 다중 스레드 공유 가변성 지도
공유 소유와 내부 가변성은 단일 스레드와 다중 스레드에서 서로 다른 타입 조합으로 표현됩니다.
핵심 구조
Rc/Arc
Rc<T>
단일 스레드 복수 소유
RefCell<T>
런타임 borrow 검사
Arc<T>
스레드 안전 참조 카운트
Mutex<T>
락으로 가변 접근 보호
Rc<T>
→
RefCell<T>
→
Arc<T>
→
Mutex<T>
판단 기준
check
Rc 제한
Rc는 Send/Sync가 아니라 스레드 사이로 보낼 수 없습니다.
Arc 비용
원자적 카운트가 필요해 Rc보다 비용이 큽니다.
MutexGuard
락 guard가 scope를 벗어나면 자동으로 unlock됩니다.
조합 기준
스레드 경계가 생기면 Arc와 Mutex 조합을 검토합니다.