[][src]Function async_std::task::spawn_blocking

Important traits for JoinHandle<T>
pub fn spawn_blocking<F, R>(f: F) -> JoinHandle<R> where
    F: FnOnce() -> R + Send + 'static,
    R: Send + 'static, 
This is supported on unstable only.

Spawns a blocking task.

The task will be spawned onto a thread pool specifically dedicated to blocking tasks. This is useful to prevent long-running synchronous operations from blocking the main futures executor.

See also: task::block_on, task::spawn.

Examples

Basic usage:

use async_std::task;

task::spawn_blocking(|| {
    println!("long-running task here");
}).await;