7 个不稳定版本
0.3.0 | 2021年11月24日 |
---|---|
0.2.1 | 2017年9月23日 |
0.1.0 | 2017年9月1日 |
0.0.2 | 2017年8月8日 |
0.0.1 | 2017年7月13日 |
#867 在 Rust 模式
6,543 每月下载量
用于 3 crates
9KB
86 行
drop_guard
RAII,在包装对象被丢弃时执行你的函数。
用例
线程超出作用域时连接线程
extern crate drop_guard;
use drop_guard::DropGuard;
use std::thread::{spawn, sleep};
use std::time::guard;
fn main() {
let _ = guard(spawn(move || {
sleep(Duration::from_secs(2));
println!("println! from thread");
})
, |join_handle| join_handle.join().unwrap());
println!("Waiting for thread ...");
}
示例
请随意运行包含的示例
cargo run --example drop
cargo run --example rainbow
cargo run --example thread
cargo run --example threadpool
贡献
欢迎贡献。请随意提出自己的想法或继续以下之一
- 添加 guard 和 drop 之间引发 panic 的示例/测试
- 在 guard 闭包中添加引发 panic 的示例/测试
- 添加最小 rustc 版本
许可证
许可如下之一
- Apache 许可证,版本 2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由你决定。
贡献
除非你明确声明,否则任何提交给工作内容并由你有意提交的贡献,根据 Apache-2.0 许可证定义,应作为上述双重许可,不附加任何额外条款或条件。