[−][src]Function crossbeam_utils::thread::scope
pub fn scope<'env, F, R>(f: F) -> Result<R> where
F: FnOnce(&Scope<'env>) -> R, Creates a new Scope for scoped thread spawning.
No matter what happens, before the Scope is dropped, it is guaranteed that all the unjoined
spawned scoped threads are joined.
thread::scope() returns Ok(()) if all the unjoined spawned threads did not panic. It returns
Err(e) if one of them panics with e. If many of them panic, it is still guaranteed that all
the threads are joined, and thread::scope() returns Err(e) with e from a panicking thread.
Examples
Creating and using a scope:
crossbeam_utils::thread::scope(|scope| { scope.spawn(|_| println!("Exiting scope")); scope.spawn(|_| println!("Running child thread in scope")); }).unwrap();