当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust JoinHandle.join用法及代码示例


本文简要介绍rust语言中 std::thread::JoinHandle.join 的用法。

用法

pub fn join(self) -> Result<T>

等待相关线程完成。

如果相关线程已经完成,此函数将立即返回。

atomic memory orderings 而言,关联线程的完成与该函数的返回同步。换句话说,该线程 happen before 执行的所有操作都是 join 返回后发生的操作。

如果关联的线程出现紧急情况,则返回 Err 并提供给 panic! 的参数。

Panics

如果线程尝试加入自身,则此函数可能会在某些平台上出现紧急情况,否则可能会在加入线程时造成死锁。

例子

use std::thread;

let builder = thread::Builder::new();

let join_handle: thread::JoinHandle<_> = builder.spawn(|| {
    // some work here
}).unwrap();
join_handle.join().expect("Couldn't join on the associated thread");

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::thread::JoinHandle.join。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。