Thanks to visit codestin.com
Credit goes to lib.rs

#async-executor #await-future

async-global-executor

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

35 releases (stable)

3.1.0 Feb 26, 2025
2.4.1 Dec 11, 2023
2.4.0 Nov 23, 2023
2.3.1 Oct 28, 2022
0.2.3 Aug 28, 2020

#273 in Asynchronous

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

3,031,458 downloads per month
Used in 3,158 crates (59 directly)

Apache-2.0 OR MIT

21KB
271 lines

async-global-executor

API Docs Build status Downloads

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

Features

  • 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.
  • 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.

Examples

# use futures_lite::future;

// 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));
});

License

Licensed under either of

at your option.

Contribution

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.

Dependencies

~3–14MB
~177K SLoC