RUST · THREAD
Send와 Sync 스레드 경계 게이트
Send와 Sync는 타입이 스레드 경계를 넘어 이동하거나 공유될 수 있는지 컴파일러가 판단하는 marker trait입니다.
핵심 구조
Send/Sync
Send
값을 다른 스레드로 move 가능
Sync
&T를 여러 스레드에서 공유 가능
Arc<T>
공유 소유를 스레드 안전하게 제공
Mutex<T>
가변 접근을 lock으로 직렬화
Send
→
Sync
→
Arc<T>
→
Mutex<T>
판단 기준
check
자동 구현
대부분의 안전한 타입은 구성 요소에 따라 자동으로 구현됩니다.
Rc 예외
Rc는 원자적 카운트가 아니라 Send도 Sync도 아닙니다.
unsafe impl
직접 구현은 불변조건을 스스로 증명해야 해 위험합니다.
컴파일 보장
잘못된 스레드 공유는 실행 전 타입 검사에서 막힙니다.