Arc — 원자적 참조 카운트 공유 포인터

Arc — 원자적 참조 카운트 공유 포인터

Arc<T>원자적(atomic) 참조 카운트를 사용해 여러 스레드가 값을 공유하게 해 주는 스마트 포인터예요. Rc의 스레드 안전 버전이에요.

출처: Rust 공식 문서

본문

pub struct Arc<T, A = Global>
    where A: Allocator,
          T: ?Sized,
{ /* private fields */ }

Arc::new(x)로 만들고 clone()하면 같은 값을 가리키는 또 다른 Arc가 생기고 참조 카운트가 1 늘어나요. 마지막 참조가 사라질 때 값이 해제돼요. 내부 값은 불변으로 공유되며, 수정이 필요하면 MutexRwLock과 조합해요. T: Send + Sync일 때만 다른 스레드로 옮길 수 있어요.

더 알아보기 (Learn more)

Rust 공식 문서