pub trait SpawnBlocking<R>where
R: Send + 'static,{
// Required methods
fn spawn_blocking<F>(&self, f: F) -> BlockingHandle<R> ⓘ
where F: FnOnce() -> R + Send + 'static,
Self: Sized;
fn spawn_blocking_dyn(
&self,
f: Box<dyn FnOnce() -> R + Send>,
) -> BlockingHandle<R> ⓘ;
}
Expand description
Indicate the executor can provide a threadpool for blocking operations. There is two methods of this trait. One of them requires boxing the closure and the other is not object safe.
Required Methods§
Sourcefn spawn_blocking<F>(&self, f: F) -> BlockingHandle<R> ⓘ
fn spawn_blocking<F>(&self, f: F) -> BlockingHandle<R> ⓘ
Runs the provided closure on a thread where blocking is acceptable.
Sourcefn spawn_blocking_dyn(
&self,
f: Box<dyn FnOnce() -> R + Send>,
) -> BlockingHandle<R> ⓘ
fn spawn_blocking_dyn( &self, f: Box<dyn FnOnce() -> R + Send>, ) -> BlockingHandle<R> ⓘ
Runs the provided closure on a thread where blocking is acceptable. This part of the trait is object safe but your closure must be boxed and you cannot have a return value.