Struct asynchron::SyncState [−][src]
pub struct SyncState<T> { /* fields omitted */ }
Expand description
Simple (a bit costly) helper thread safe state management,
using std::sync::Arc and std::sync::RwLock under the hood.
Example:
use asynchron::SyncState; fn main() -> core::result::Result<(), Box<dyn std::error::Error>> { let state: SyncState<i32> = SyncState::new(0); let _state = state.clone(); if let Err(_) = std::thread::spawn(move||{ _state.set(20); }).join() { let e = std::io::Error::new(std::io::ErrorKind::Other, "Unable to join thread."); return Err(Box::new(e)); } let values: (i32, i32) = (*state.get(), *state.get()); println!("{:?}", values); Ok(()) }
Implementations
Trait Implementations
Auto Trait Implementations
impl<T> RefUnwindSafe for SyncState<T>
impl<T> UnwindSafe for SyncState<T>
Blanket Implementations
Mutably borrows from an owned value. Read more