25 releases
| 0.5.2 | Apr 16, 2025 |
|---|---|
| 0.5.1 | Mar 31, 2025 |
| 0.4.16 | Mar 10, 2025 |
| 0.4.15 | Feb 21, 2024 |
| 0.1.3 | Mar 8, 2022 |
#394 in WebAssembly
230 downloads per month
Used in 54 crates
(17 directly)
175KB
2.5K
SLoC
封装了与共享相关的数据结构,可通过编译条件指定是单线程共享还是多线程共享。
例如,Share类型,通过控制编译条件,可转换为Arc或Xrc
lib.rs:
默认 不带 任何 feature
1. 几个类型封装
Share=Xrc|ArcShareWeak=xrc::Weak|sync::WeakShareMutex=LockCell(RefCell<T>)| MutexShareRwLock=LockCell(RefCell<T>)|RwLockShareCell=cell::TrustCellSharePtr=SyncUnsafeCell<T>|AtomicPtr<T>ShareRefCell=XrcCell<T>|ArcCell<T>ShareBool=SyncUnsafeCell<bool>|AtomicBoolShareU8=SyncUnsafeCell<u8>|AtomicU8ShareU32=SyncUnsafeCell<u32>|AtomicU32ShareUsize=SyncUnsafeCell<usize>|AtomicUsize
2. 提供 Send, Sync 的 封装
目的:wasm 不支持 Send + Sync
- ThreadSend = Send
- ThreadSync = Sync + Send