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

Important traits for JoinHandle<T>
pub fn spawn_blocking<F, T>(f: F) -> JoinHandle<T> where
    F: FnOnce() -> T + Send + 'static,
    T: 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;