여러 스레드 소유권은 Arc<T>로 감쌉니다.
Shared State
공유 상태 동시성 판단표
Mutex<T>는 한 번에 하나의 스레드만 데이터에 접근하게 하고, Arc<T>는 그 Mutex를 여러 스레드가 소유하게 합니다.
Arc로 공유하고 Mutex로 잠근다
변경이 필요한 값은 Mutex<T> 안에 둡니다.
MutexGuard가 빨리 drop되도록 스코프를 작게 둡니다.
poisoned lock 가능성을 unwrap 밖에서도 고려합니다.
판단 기준: 잠금 범위를 짧게 유지하고, lock 실패와 데드락 가능성을 코드 구조에서 줄입니다.