Trait thread_priority::ThreadScopeExt
source · pub trait ThreadScopeExt<'scope> {
// Required method
fn spawn_with_priority<F, T>(
&'scope self,
priority: ThreadPriority,
f: F
) -> ScopedJoinHandle<'scope, T>
where F: FnOnce(Result<(), Error>) -> T + Send + 'scope,
T: Send + 'scope;
}
Expand description
Adds scoped thread building functions using the priority.
Required Methods§
sourcefn spawn_with_priority<F, T>(
&'scope self,
priority: ThreadPriority,
f: F
) -> ScopedJoinHandle<'scope, T>
fn spawn_with_priority<F, T>( &'scope self, priority: ThreadPriority, f: F ) -> ScopedJoinHandle<'scope, T>
Spawn a scoped thread with set priority. The passed functor f
is executed in the spawned thread and
receives as the only argument the result of setting the thread priority.
See std::thread::Scope::spawn
and ThreadPriority::set_for_current
for more info.
§Example
use thread_priority::*;
let x = 0;
std::thread::scope(|s|{
s.spawn_with_priority(ThreadPriority::Max, |result| {
// This is printed out from within the spawned thread.
println!("Set priority result: {:?}", result);
assert!(result.is_ok());
dbg!(&x);
});
});
Object Safety§
This trait is not object safe.