Send Sync

Send는 이동 가능성, Sync는 공유 참조 가능성을 말한다

타입이 스레드 사이를 건너갈 수 있는지와 여러 스레드에서 &T를 공유할 수 있는지는 별도 기준이다.

Send값을 다른 스레드로 이동 가능

thread::spawn 입력

Sync&T를 여러 스레드에서 공유 가능

공유 참조 안전

구분의미판단
T: Send소유권 이동 안전값 자체가 스레드 경계 통과
T: Sync&T 공유 안전참조를 여러 스레드에서 읽음
Rc<T>Send/Sync 아님비원자 카운트
Arc<T>조건부 Send/Sync원자 카운트

핵심 marker trait는 직접 호출하는 API가 아니라 컴파일러의 스레드 안전 판정표다.