當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。