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


Rust Builder.spawn用法及代码示例


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

用法

pub fn spawn<F, T>(self, f: F) -> Result<JoinHandle<T>> where    F: FnOnce() -> T,    F: Send + 'static,    T: Send + 'static,

通过获取 Builder 的所有权来生成一个新线程,并将 io::Result 返回到其 JoinHandle

生成的线程可能比调用者活得更久(除非调用者线程是主线程;整个进程在主线程完成时终止)。连接句柄可用于阻止生成的线程终止,包括恢复其Panics。

如需更完整的文档,请参阅 thread::spawn

错误

spawn 自由函数不同,此方法产生 io::Result 以捕获在操作系统级别创建线程的任何失败。

Panics

如果设置了线程名称并且它包含空字节,则会出现Panics。

例子

use std::thread;

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

let handler = builder.spawn(|| {
    // thread code
}).unwrap();

handler.join().unwrap();

相关用法


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