[−][src]Struct ts_static::ThreadSafeStruct
Fields
value: Mutex<Option<T>>
Implementations
impl<T> ThreadSafeStruct<T>
[src]
pub fn with(
&self,
action: impl FnMut(&mut T)
) -> Result<(), ThreadSafeStructError>
[src]
&self,
action: impl FnMut(&mut T)
) -> Result<(), ThreadSafeStructError>
Borrows the value from the mutex, mutably in order to work with/on
pub fn set(&self, value: Option<T>)
[src]
Sets the mutex to a value or None
This provides no guarantee that other threads don't change it straight away
so if you call with()
after value may have changed
I.e. two threads, one calls set, the other calls with
set
thread wins, and the with
thread waits for the lock
as soon as thread set
finishes, thread with
will do its thing
Auto Trait Implementations
impl<T> RefUnwindSafe for ThreadSafeStruct<T>
impl<T> Send for ThreadSafeStruct<T> where
T: Send,
T: Send,
impl<T> Sync for ThreadSafeStruct<T> where
T: Send,
T: Send,
impl<T> Unpin for ThreadSafeStruct<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for ThreadSafeStruct<T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,