Struct bp3d_threads::ScopedThreadManager
source · [−]pub struct ScopedThreadManager<'env, 'scope>(_);
Expand description
Represents a ScopedThreadManager (to use with crossbeam::scope).
Implementations
sourceimpl<'env, 'scope> ScopedThreadManager<'env, 'scope>
impl<'env, 'scope> ScopedThreadManager<'env, 'scope>
sourcepub fn new(scope: &'env Scope<'scope>) -> Self
pub fn new(scope: &'env Scope<'scope>) -> Self
Creates new ScopedThreadManager.
Arguments
scope
: the Scope to use.
returns: ScopedThreadManager
Examples
use bp3d_threads::ThreadPool;
use bp3d_threads::ScopedThreadManager;
crossbeam::scope(|scope| {
let manager = ScopedThreadManager::new(scope);
let mut pool: ThreadPool<ScopedThreadManager, i32> = ThreadPool::new(4);
assert!(pool.is_idle());
pool.send(&manager, |_| 12);
assert!(!pool.is_idle());
pool.wait().unwrap();
assert!(pool.is_idle());
}).unwrap();
Trait Implementations
sourceimpl<'env, 'scope: 'env> ThreadManager<'scope> for ScopedThreadManager<'env, 'scope>
impl<'env, 'scope: 'env> ThreadManager<'scope> for ScopedThreadManager<'env, 'scope>
Auto Trait Implementations
impl<'env, 'scope> !RefUnwindSafe for ScopedThreadManager<'env, 'scope>
impl<'env, 'scope> Send for ScopedThreadManager<'env, 'scope>
impl<'env, 'scope> Sync for ScopedThreadManager<'env, 'scope>
impl<'env, 'scope> Unpin for ScopedThreadManager<'env, 'scope> where
'scope: 'env,
impl<'env, 'scope> !UnwindSafe for ScopedThreadManager<'env, 'scope>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more