Trait thread_priority::ThreadBuilderExt
source · [−]pub trait ThreadBuilderExt {
fn spawn_with_priority<F, T>(
self,
priority: ThreadPriority,
f: F
) -> Result<JoinHandle<T>>
where
F: FnOnce(Result<(), Error>) -> T,
F: Send + 'static,
T: Send + 'static;
}
Expand description
Adds thread building functions using the priority.
Required methods
fn spawn_with_priority<F, T>(
self,
priority: ThreadPriority,
f: F
) -> Result<JoinHandle<T>> where
F: FnOnce(Result<(), Error>) -> T,
F: Send + 'static,
T: Send + 'static,
fn spawn_with_priority<F, T>(
self,
priority: ThreadPriority,
f: F
) -> Result<JoinHandle<T>> where
F: FnOnce(Result<(), Error>) -> T,
F: Send + 'static,
T: Send + 'static,
Spawn a 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::Builder::spawn
and ThreadPriority::set_for_current
for more info.
Example
use thread_priority::*;
use thread_priority::ThreadBuilderExt;
let thread = std::thread::Builder::new()
.name("MyNewThread".to_owned())
.spawn_with_priority(ThreadPriority::Max, |result| {
// This is printed out from within the spawned thread.
println!("Set priority result: {:?}", result);
assert!(result.is_ok());
}).unwrap();
thread.join();