3个版本
0.1.2 | 2021年2月21日 |
---|---|
0.1.1 | 2020年7月30日 |
0.1.0 | 2020年7月30日 |
#1107 在 异步
17KB
293 代码行
状态化异步工作线程提供工作线程结构,允许在后台执行同步函数或闭包,并以future的形式异步访问结果。
要同时执行多个函数,可以使用ThreadPool
。对于本质上单线程的操作,如磁盘I/O,可以使用WorkerThread
。
示例
use stateful_async_worker::WorkerThread;
async fn example() -> u64 {
// Create a worker thread that wraps a number.
let worker = WorkerThread::spawn_with(0u64);
// Now you can run closures as futures in the background!
let add_three = worker.work_on(|num: &mut u64| {
// Do some sophisticated computations here ...
*num += 3;
*num
});
add_three.await
}
依赖
~1.5MB
~23K SLoC