#future #cancellation #condvar #automatic #drop #thread #duration

tiny_future

此库提供了一个基于Condvar的简单future,并在drop时自动取消

6个版本

0.5.1 2022年8月4日
0.5.0 2022年7月30日
0.4.0 2020年12月8日
0.3.2 2018年9月12日
0.3.0 2018年6月30日

#716 in 异步

BSD-2-Clause OR MIT

9KB
114

License License AppVeyor CI docs.rs crates.io Download numbers dependency status

tiny_future

欢迎来到 tiny_future 🎉

此库提供了一个基于Condvar的简单future,并在drop时自动取消。

示例

use std::{thread, time::Duration};

// Create futures
let (setter, getter) = tiny_future::new::<u8>();

// Run something in a separate task
thread::spawn(move || {
    // Do some computations and set the result
    thread::sleep(Duration::from_secs(1));
    setter.set(7);
});

// Wait unil the result is available
let result = getter.wait().expect("Failed to compute result");
assert_eq!(result, 7);

无运行时依赖