1个稳定版本
1.2.18 | 2020年6月17日 |
---|---|
1.2.17 |
|
1.2.7 |
|
1.1.13 |
|
#2136 在 异步
95 每月下载量
40KB
921 代码行
lelet
类似于golang的任务执行器
Lelet执行器
受golang运行时启发的任务执行器。
执行器在线程池中运行,当它检测到任务内部存在阻塞调用时,它会自动扩展线程池。
正因为这个特性,你可以在任务中安全地进行阻塞操作,你不需要担心会阻塞整个执行器线程。
安装
安装cargo add后运行
$ cargo add lelet
示例
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));
}
依赖项
~1MB
~14K SLoC