Struct rayon_core::ScopeFifo
source · pub struct ScopeFifo<'scope> {
base: ScopeBase<'scope>,
fifos: Vec<JobFifo>,
}
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.
Fields§
§base: ScopeBase<'scope>
§fifos: Vec<JobFifo>
Implementations§
source§impl<'scope> ScopeFifo<'scope>
impl<'scope> ScopeFifo<'scope>
fn new(owner: Option<&WorkerThread>, registry: Option<&Arc<Registry>>) -> Self
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
.