11 unstable releases (3 breaking)
0.4.4 | Sep 23, 2022 |
---|---|
0.4.3 | Sep 22, 2022 |
0.4.1 | Aug 23, 2022 |
0.3.0 | Aug 23, 2022 |
0.1.0 | Feb 28, 2022 |
#206 in Memory management
163 downloads per month
Used in 14 crates
(9 directly)
32KB
981 lines
封装了与共享相关的数据结构,可通过编译条件指定是单线程共享还是多线程共享。
例如,Share类型,通过控制编译条件,可转换为Arc或Rc
lib.rs
:
默认 不带 任何 feature
提供五个类型:Share
, ShareWeak
,,ShareMutex
, ShareRwLock
,ShareCell
.
在feature="rc"时:
Share
等同于std::rc::Rc
ShareWeak
等同于std::rc::Weak
ShareMutex
等同于LockCell(RefCell<T>)
ShareRwLock
等同于LockCell(RefCell<T>)
ShareCell
等同于std::cell::RefCell
ShareBool
等同于UnsafeCell<bool>
ShareU8
等同于UnsafeCell<u8>
ShareUsize
等同于UnsafeCell<usize>
SharePtr
等同于UnsafeCell<T>
ShareRefCell
等同于Rc(RefCell<T>)
在feature="arc"时:
Share
等同于std::sync::Arc
,ShareWeak
等同于std::sync::Weak
.ShareMutex
等同于parking_lot::Mutex
ShareRwLock
等同于parking_lot::RwLock
ShareCell
等同于cell::TrustCell
ShareBool
等同于RefCell<bool>
ShareU8
等同于RefCell<u8>
ShareUsize
等同于RefCell<usize>
SharePtr
等同于RefCell<T>
ShareRefCell
等同于Arc(TrustCell<T>)
Dependencies
~0.4–5MB
~75K SLoC