[][src]Crate async_global_executor

A global executor built on top of async-executor and smol

The global executor is lazily spawned on first use. It spawns as many threads as the number of cpus by default. You can override this using the ASYNC_GLOBAL_EXECUTOR_THREADS environment variable.

Examples


// spawn a task on the multi-threaded executor
let task1 = async_global_executor::spawn(async {
    1 + 2
});
// spawn a task on the local executor (same thread)
let task2 = async_global_executor::spawn_local(async {
    3 + 4
});
let task = future::zip(task1, task2);

// run the executor
async_global_executor::run(async {
    assert_eq!(task.await, (3, 7));
});

Functions

run

Runs the global and the local executor on the current thread

spawn

Spawns a task onto the multi-threaded global executor.

spawn_local

Spawns a task onto the local executor.