Shared Ownership

Rc<T> 참조 카운트 변화도

Rc는 값을 복사하지 않고 소유자 수를 세어 마지막 소유자가 사라질 때 해제한다.

소유자 수가 바뀌는 순간

strong count

Rc 값

힙의 한 값을 여러 변수가 함께 가리킨다.

clone

데이터 복사가 아니라 strong count를 하나 늘린다.

Owner A

첫 소유자가 값의 생존에 기여한다.

Owner B

복제된 Rc도 같은 값을 읽는다.

drop

스코프를 벗어나면 count가 하나 줄어든다.

free

count가 0이 되면 실제 값이 해제된다.

Rc 생성clone 증가drop 감소0이면 해제
참조 카운트

Rc::clone은 깊은 복사가 아니다. 공유 소유권을 명시하면서 값의 수명을 카운트로 관리하는 도구다.