Shared State

공유 상태 동시성 판단표

Mutex<T>는 한 번에 하나의 스레드만 데이터에 접근하게 하고, Arc<T>는 그 Mutex를 여러 스레드가 소유하게 합니다.

Arc로 공유하고 Mutex로 잠근다

공유 포장

여러 스레드 소유권은 Arc<T>로 감쌉니다.

접근 보호

변경이 필요한 값은 Mutex<T> 안에 둡니다.

잠금 범위

MutexGuard가 빨리 drop되도록 스코프를 작게 둡니다.

실패 처리

poisoned lock 가능성을 unwrap 밖에서도 고려합니다.

판단 기준: 잠금 범위를 짧게 유지하고, lock 실패와 데드락 가능성을 코드 구조에서 줄입니다.