A global executor built on top of async-executor and async-io
async-io
: if enabled, async-global-executor
will use async_io::block_on
instead of
futures_lite::future::block_on
internally. this is preferred if your application also uses async-io
.blocking
: enable the use of the blocking
crate through async_global_executor::spawn_blocking
.tokio
: if enabled, async-global-executor
will ensure that all tasks that you will spawn run in the context of a
tokio 1.0 runtime, spawning a new one if required.tokio03
: if enabled, async-global-executor
will ensure that all tasks that you will spawn run in the context of a
tokio 0.3 runtime, spawning a new one if required.tokio02
: if enabled, async-global-executor
will ensure that all tasks that you will spawn run in the context of a
tokio 0.2 runtime, spawning a new one if required.```
// spawn a task on the multi-threaded executor let task1 = asyncglobalexecutor::spawn(async { 1 + 2 }); // spawn a task on the local executor (same thread) let task2 = asyncglobalexecutor::spawn_local(async { 3 + 4 }); let task = future::zip(task1, task2);
// run the executor asyncglobalexecutor::blockon(async { asserteq!(task.await, (3, 7)); }); ```
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.