async-executor 0.1.2

Async executor
Documentation

async-executor

Build License Cargo Documentation

Async executor.

This crate offers two kinds of executors: single-threaded and multi-threaded.

Examples

Run a single-threaded and a multi-threaded executor at the same time:

use async_channel::unbounded;
use async_executor::{Executor, LocalExecutor};
use easy_parallel::Parallel;

let ex = Executor::new();
let local_ex = LocalExecutor::new();
let (trigger, shutdown) = unbounded::<()>();

Parallel::new()
    // Run four executor threads.
    .each(0..4, |_| ex.run(shutdown.recv()))
    // Run local executor on the current thread.
    .finish(|| local_ex.run(async {
        println!("Hello world!");
        drop(trigger);
    }));

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.