Struct std::thread::Scope

1.63.0 · source ·
pub struct Scope<'scope, 'env: 'scope> { /* private fields */ }
Expand description

在其中生成作用域线程的作用域。

有关详细信息,请参见 scope

Implementations§

source§

impl<'scope, 'env> Scope<'scope, 'env>

source

pub fn spawn<F, T>(&'scope self, f: F) -> ScopedJoinHandle<'scope, T>where F: FnOnce() -> T + Send + 'scope, T: Send + 'scope,

在作用域中产生一个新线程,为其返回一个 ScopedJoinHandle

与非作用域线程不同,使用此函数生成的线程可以从作用域外部借用非 'static 的数据。 有关详细信息,请参见 scope

连接句柄提供了一个 join 方法,可以用来连接新生成的线程。 如果生成的线程发生 panic,join 返回一个包含 panic 载荷的 Err

如果连接句柄被丢弃,则派生的线程将在作用域的末尾隐式连接。 在这种情况下,如果派生的线程出现 panic,scope 将在所有线程加入后出现 panic。

这个调用将使用 Builder 的默认参数创建一个线程。 如果要指定栈大小或线程名,请改用 Builder::spawn_scoped

Panics

如果操作系统无法创建线程,就会出现 panics。使用 Builder::spawn_scoped 从此类错误中恢复。

Trait Implementations§

source§

impl Debug for Scope<'_, '_>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化程序格式化该值。 Read more

Auto Trait Implementations§

§

impl<'scope, 'env> RefUnwindSafe for Scope<'scope, 'env>

§

impl<'scope, 'env> Send for Scope<'scope, 'env>

§

impl<'scope, 'env> Sync for Scope<'scope, 'env>

§

impl<'scope, 'env> Unpin for Scope<'scope, 'env>

§

impl<'scope, 'env> !UnwindSafe for Scope<'scope, 'env>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

获取 selfTypeIdRead more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

从拥有的值中一成不变地借用。 Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

从拥有的值中借用。 Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

返回未更改的参数。

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

调用 U::from(self)

也就是说,这种转换是 From<T> for U 实现选择执行的任何操作。

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

发生转换错误时返回的类型。
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

发生转换错误时返回的类型。
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。