pub struct ScopedThreadManager<'env, 'scope>(/* private fields */);
Expand description
Represents a ScopedThreadManager (to use with crossbeam::scope).
Implementations§
Source§impl<'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§
Source§impl<'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> Freeze for ScopedThreadManager<'env, 'scope>
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>
impl<'env, 'scope> UnwindSafe for ScopedThreadManager<'env, 'scope>
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