pub struct ScopeFifo<'scope> { /* private fields */ }
Expand description
Represents a fork-join scope which can be used to spawn any number of tasks.
Those spawned from the same thread are prioritized in relative FIFO order.
See scope_fifo()
for more information.
Implementations§
Source§impl<'scope> ScopeFifo<'scope>
impl<'scope> ScopeFifo<'scope>
Sourcepub fn spawn_fifo<BODY>(&self, body: BODY)
pub fn spawn_fifo<BODY>(&self, body: BODY)
Spawns a job into the fork-join scope self
. This job will
execute sometime before the fork-join scope completes. The
job is specified as a closure, and this closure receives its
own reference to the scope self
as argument. This can be
used to inject new jobs into self
.
§See also
This method is akin to Scope::spawn()
, but with a FIFO
priority. The scope_fifo
function has more details about
this distinction.
Sourcepub fn spawn_broadcast<BODY>(&self, body: BODY)
pub fn spawn_broadcast<BODY>(&self, body: BODY)
Spawns a job into every thread of the fork-join scope self
. This job will
execute on each thread sometime before the fork-join scope completes. The
job is specified as a closure, and this closure receives its own reference
to the scope self
as argument, as well as a BroadcastContext
.
Trait Implementations§
Auto Trait Implementations§
impl<'scope> !Freeze for ScopeFifo<'scope>
impl<'scope> !RefUnwindSafe for ScopeFifo<'scope>
impl<'scope> Send for ScopeFifo<'scope>
impl<'scope> Sync for ScopeFifo<'scope>
impl<'scope> Unpin for ScopeFifo<'scope>
impl<'scope> !UnwindSafe for ScopeFifo<'scope>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 72 bytes