10 releases
0.2.0 | Sep 4, 2023 |
---|---|
0.1.9 | Jan 22, 2023 |
0.1.8 |
|
0.1.6 | Sep 7, 2022 |
0.1.2 | Jul 12, 2022 |
#297 in Concurrency
289 downloads per month
Used in 7 crates
(2 directly)
66KB
922 lines
Atomicell crate
This crate provides AtomicCell
type - a multi-threaded version of RefCell
from standard library.
AtomicCell
uses atomics to track borrows and able to guarantee
absence of mutable aliasing when multiple threads try to borrow concurrently.
Unlike mutexes and spin-locks AtomicCell
does not have blocking calls.
Borrows are either succeed immediately or fail.
There are fallible that return optional for borrowing calls - AtomicCell::try_borrow
and AtomicCell::try_borrow_mut
.
And panicking version - AtomicCell::borrow
and AtomicCell::borrow_mut
.