spin-rs
This Rust library implements a simple spinlock.
Usage
By default this crate only works on nightly but you can disable the default features if you want to run on stable. Nightly is more efficient than stable currently.
Also, Once is only available on nightly as it is only useful when const_fn is available.
Include the following code in your Cargo.toml
[]
= "0.3"
# If you want to run on stable you will need to add the following:
# default-features = false
Example
When calling lock on a Mutex you will get a reference to the data. When this
reference is dropped, the lock will be unlocked.
extern crate spin;
To share the lock, an Arc<Mutex<T>> may be used.
Remarks
The behaviour of these lock is similar to their namesakes in std::sync. they
differ on the following:
- The lock will not be poisoned in case of failure;