lelet
A golang like task executor
## Lelet executor
Task executor that inspired by golang runtime.
The executor is running in thread pool, and when it detect blocking call inside
a task, it will automatically scale the thread pool.
Because of this feature, it is always safe for you to do blocking operation in a task,
you don't need to worry about blocking the entire executor thread.
## Installation
With [cargo add][cargo-add] installed run:
```sh
$ cargo add lelet
```
[cargo-add]: https://github.com/killercup/cargo-edit
## Example
```rust
use std::thread;
use std::time::Duration;
use futures_timer::Delay;
fn main() {
lelet::spawn(async {
for _ in 0..10 {
Delay::new(Duration::from_secs(1)).await;
println!("Non-blocking Hello World");
}
});
lelet::spawn(async {
for _ in 0..10 {
thread::sleep(Duration::from_secs(1));
println!("Blocking Hello World");
}
});
thread::sleep(Duration::from_secs(11));
}
```