uexec

API Docs Build status Downloads

Simple work-stealing global and local executor

Features

Examples

```rust

use futures_lite::future;

// spawn several worker threads uexec::spawn_workers(4);

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

// run the executor uexec::blockon(async { asserteq!(task.await, (3, 7)); });

// terminate our worker threads uexec::terminate_workers(); ```

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.