为什么 `thread::JoinHandle<T>` 有一个类型参数?

The*_*ist 4 syntax multithreading rust

在 Rust 中,thread::JoinHandle<T>标准库中包含的类型具有类型参数T。然而,似乎并没有T实际设置或用于任何用途。

事实上,Rust 自己的文档大多只是thread::JoinHandle<_>在需要将 a 分配JoinHandle<T>给某些东西时使用。这T实际上有什么作用?

Ale*_*agh 5

它是从线程代码返回的类型。您始终可以自动推导类型,并且通常不想显式编写类型。的文档中有一些示例join,它返回一个Result<T>.

以下示例来自文档:

spawn返回一个 JoinHandle,连接时返回 Result。

let computation = thread::spawn(|| { 
    // Some expensive computation.
    42
});
let result = computation.join().unwrap();
println!("{}", result);
Run Code Online (Sandbox Code Playgroud)