Struct shred::Par
[−]
[src]
pub struct Par<H, T> { /* fields omitted */ }
Runs two tasks in parallel.
These two tasks are called head
and tail
in the following documentation.
Methods
impl<H> Par<H, Nil>
[src]
pub fn new(head: H) -> Self
[src]
Creates a new Par
struct, with the tail being a no-op.
pub fn with<T>(self, sys: T) -> Par<Par<H, T>, Nil> where
H: for<'a> RunWithPool<'a>,
T: for<'a> RunWithPool<'a>,
[src]
H: for<'a> RunWithPool<'a>,
T: for<'a> RunWithPool<'a>,
Adds sys
as the second job and returns a new Par
struct
with the previous struct as head and a no-op tail.
Trait Implementations
impl<'a, H, T> RunWithPool<'a> for Par<H, T> where
H: RunWithPool<'a> + Send,
T: RunWithPool<'a> + Send,
[src]
H: RunWithPool<'a> + Send,
T: RunWithPool<'a> + Send,
fn setup(&mut self, res: &mut Resources)
[src]
Sets up Resources
for a later call to run
.
fn run(&mut self, res: &'a Resources, pool: &ThreadPool)
[src]
Runs the system/group of systems. Possibly in parallel depending on how the structure is set up. Read more
fn reads(&self, reads: &mut Vec<ResourceId>)
[src]
Accumulates the necessary read/shared resources from the systems in this group. Read more
fn writes(&self, writes: &mut Vec<ResourceId>)
[src]
Accumulates the necessary write/exclusive resources from the systems in this group. Read more