Struct concurrency_traits::semaphore::ParkSemaphore [−][src]
pub struct ParkSemaphore<C, CS> where
CS: ThreadParker, { /* fields omitted */ }
Expand description
A semaphore based on thread parking
Implementations
impl<C, CS> ParkSemaphore<C, CS> where
CS: ThreadParker,
[src]
impl<C, CS> ParkSemaphore<C, CS> where
CS: ThreadParker,
[src]pub fn new(start_count: C) -> Self
[src]
pub fn new(start_count: C) -> Self
[src]Creates a new ParkSemaphore
from a start_count
.
Trait Implementations
impl<C: Debug, CS: Debug> Debug for ParkSemaphore<C, CS> where
CS: ThreadParker,
[src]
impl<C: Debug, CS: Debug> Debug for ParkSemaphore<C, CS> where
CS: ThreadParker,
[src]impl<C, CS> Default for ParkSemaphore<C, CS> where
C: Zero,
CS: ThreadParker,
[src]
impl<C, CS> Default for ParkSemaphore<C, CS> where
C: Zero,
CS: ThreadParker,
[src]impl<C, CS> ReadoutSemaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign + Copy,
CS: ThreadParker + ThreadFunctions,
[src]
impl<C, CS> ReadoutSemaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign + Copy,
CS: ThreadParker + ThreadFunctions,
[src]impl<C, CS> Semaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign,
CS: ThreadParker + ThreadFunctions,
[src]
impl<C, CS> Semaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign,
CS: ThreadParker + ThreadFunctions,
[src]impl<C, CS> TimeoutSemaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign,
CS: ThreadTimeoutParker + TimeFunctions + ThreadFunctions,
[src]
impl<C, CS> TimeoutSemaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign,
CS: ThreadTimeoutParker + TimeFunctions + ThreadFunctions,
[src]impl<C, CS> TrySemaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign,
CS: ThreadParker + ThreadFunctions,
[src]
impl<C, CS> TrySemaphore for ParkSemaphore<C, CS> where
C: Zero + One + AddAssign + SubAssign,
CS: ThreadParker + ThreadFunctions,
[src]Auto Trait Implementations
impl<C, CS> !RefUnwindSafe for ParkSemaphore<C, CS>
impl<C, CS> Send for ParkSemaphore<C, CS> where
C: Send,
<CS as ThreadParker>::ThreadId: Send,
C: Send,
<CS as ThreadParker>::ThreadId: Send,
impl<C, CS> Sync for ParkSemaphore<C, CS> where
C: Send,
<CS as ThreadParker>::ThreadId: Send,
C: Send,
<CS as ThreadParker>::ThreadId: Send,
impl<C, CS> Unpin for ParkSemaphore<C, CS> where
C: Unpin,
<CS as ThreadParker>::ThreadId: Unpin,
C: Unpin,
<CS as ThreadParker>::ThreadId: Unpin,
impl<C, CS> UnwindSafe for ParkSemaphore<C, CS> where
C: UnwindSafe,
<CS as ThreadParker>::ThreadId: UnwindSafe,
C: UnwindSafe,
<CS as ThreadParker>::ThreadId: UnwindSafe,