7 个版本 (破坏性更新)
0.7.0 | 2023年7月15日 |
---|---|
0.6.0 | 2021年3月21日 |
0.5.0 | 2021年3月12日 |
0.4.0 | 2021年3月11日 |
0.1.0 | 2021年3月11日 |
#684 在 异步 类别
每月下载量 14,024
在 2 个 crate 中使用
11KB
168 行
awaitgroup
WaitGroup
等待一组异步任务完成。
主任务可以创建新的工作进程并将它们传递给它希望等待完成的每个任务。每个任务在执行完成后调用 done
,主任务可以调用 wait
以阻塞,直到所有注册的工作进程都完成。
use awaitgroup::WaitGroup;
#[tokio::main]
async fn main() {
let mut wg = WaitGroup::new();
for _ in 0..5 {
// Create a new worker.
let worker = wg.worker();
tokio::spawn(async {
// Do some work...
// This task is done all of its work.
worker.done();
});
}
// Block until all other tasks have finished their work.
wg.wait().await;
}
有关更多详细信息,请参阅 文档。