Send

Send (스레드 간 전송 안전 트레이트)

스레드 경계를 넘어 전송될 수 있는 타입을 위한 auto 트레이트예요.

출처: Rust 공식 문서

본문

이 트레이트는 컴파일러가 적절하다고 판단하면 자동으로 구현돼요.

Send가 아닌 타입의 예로는 참조 카운팅 포인터 rc::Rc가 있어요. 두 스레드가 같은 참조 카운트 값을 가리키는 Rc들을 복제하려고 하면, 동시에 참조 카운트를 갱신하려 할 수 있어요. Rc는 원자적 연산을 사용하지 않으므로 이는 정의되지 않은 동작이에요. 사촌인 sync::Arc는 원자적 연산을 사용하기에(약간의 오버헤드 발생) Send예요.

자세한 내용은 The Nomicon과 Sync 트레이트를 참고하세요.

pub unsafe auto trait Send { }

더 알아보기 (Learn more)

Rust 공식 문서