Arc
Arc<T>
اجازه میدهد تا دسترسی read-only مشترک از طریق Arc::clone
صورت پذیرد:
Speaker Notes
This slide should take about 5 minutes.
- “Arc“ مخفف “Atomic Reference Counted” است، یک نسخه ایمن از
Rc
که از عملیات atomic استفاده میکند. - “Arc
“ به طور کلی “Clone” را خواه T
انجام دهد یا نه، پیاده سازی می کند.Send
وSync
را اگر و فقط در صورتی پیادهسازی میکند کهT
هر دوی آنها را پیادهسازی کند. Arc::clone()
هزینه یک عملیات atomic که اجرا میشود را دارد، اما پس از آن استفاده از ‘T’ آزاد است.- مراقب reference cycleها باشید،
Arc
از garbage collector برای شناسایی آنها استفاده نمیکند.std::sync::Weak
میتواند مفید باشد.