Struct shared_resource_pool_builder::JobHandle[][src]

pub struct JobHandle { /* fields omitted */ }
Expand description

The handle that can be used to wait for a pool to finish

Implementations

Waits for a specific pool to finish its work.

This can be used if you need to create another pool, but only after a previous pool finishes its work.

This method returns a thread::Result. Since the Err variant of this specialized Result does not implement the Error trait, the ?-operator does not work here. For more information about how to handle panics in this case, please refer to the documentation of thread::Result.

Example:
let pool_builder = SharedResourcePoolBuilder::new(Vec::new(), |v, i| v.push(i));

// It is crucial that all additions finish their work, hence the `join`.
pool_builder.create_pool(
    |tx| (0..10).for_each(|i| tx.send(i).unwrap()),
    |i| i + 3,
).join().unwrap();

// Now we are safe to run the multiplications.
pool_builder.create_pool(
    |tx| (0..10).for_each(|i| tx.send(i).unwrap()),
    |i| i * 2,
);

let result = pool_builder.join().unwrap();

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.