Crate async_global_executor
source · [−]Expand description
A global executor built on top of async-executor and async_io
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::block_on(async {
assert_eq!(task.await, (3, 7));
});
Structs
Configuration to init the thread pool for the multi-threaded global executor.
A spawned task.
Functions
Runs the global and the local executor on the current thread
Init the global executor, spawning as many threads as the number or cpus or
the value specified by the ASYNC_GLOBAL_EXECUTOR_THREADS
environment variable
if specified.
Init the global executor, spawning as many threads as specified or the value specified by the specified environment variable.
Spawns a task onto the multi-threaded global executor.
Runs blocking code on a thread pool.
Spawns a task onto the local executor.
Spawn more executor threads, up to configured max value.
Stop the current executor thread, if we exceed the configured min value
Stop one of the executor threads, down to configured min value