Struct std::task::Waker1.36.0[][src]

#[repr(transparent)]
pub struct Waker { /* fields omitted */ }
Expand description

Waker 是通过通知执行者准备运行来唤醒任务的句柄。

该句柄封装了 RawWaker 实例,该实例定义了特定于执行者的唤醒行为。

实现 CloneSendSync

Implementations

唤醒与此 Waker 相关的任务。

唤醒与此 Waker 相关的任务,而不消耗 Waker

这与 wake 相似,但是在拥有 Waker 的情况下效率可能稍低。 此方法应该比调用 waker.clone().wake() 更可取。

如果此 Waker 和另一个 Waker 唤醒了同一任务,则返回 true

该函数在尽力而为的基础上起作用,即使 Wakers 唤醒相同的任务,也可能返回 false。 但是,如果此函数返回 true,则可以确保 Waker 唤醒相同的任务。

该函数主要用于优化目的。

RawWaker 创建一个新的 Waker

如果未遵守 [RawWaker] 和 [RawWakerVTable] 文档中定义的契约,则返回的 Waker` 的行为是不确定的。

因此,此方法是不安全的。

Trait Implementations

返回值的副本。 Read more

source 执行复制分配。 Read more

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

执行此类型的析构函数。 Read more

使用 Wake 类型作为 Waker

此转换不使用堆分配或原子操作。

Auto Trait Implementations

Blanket Implementations

获取 selfTypeIdRead more

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

从拥有的值中借用。 Read more

执行转换。

执行转换。

获得所有权后的结果类型。

通常通过克隆从借用数据中创建拥有的数据。 Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into #41263)

recently added

使用借来的数据来替换拥有的数据,通常是通过克隆。 Read more

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

执行转换。

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

执行转换。