pub struct JobHandle { /* private fields */ }Expand description
The handle that can be used to wait for a pool to finish
Implementations§
Source§impl JobHandle
impl JobHandle
Sourcepub fn join(self) -> Result<()>
pub fn join(self) -> Result<()>
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§
impl Freeze for JobHandle
impl !RefUnwindSafe for JobHandle
impl Send for JobHandle
impl Sync for JobHandle
impl Unpin for JobHandle
impl UnsafeUnpin for JobHandle
impl !UnwindSafe for JobHandle
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
Mutably borrows from an owned value. Read more