pub struct AbortHandle { /* private fields */ }展开描述
用于终止已派生任务的 owned 权限,不会等待任务完成。
与 JoinHandle 不同,AbortHandle 并不代表等待任务完成的权限,它只代表终止任务的权限。
可以通过调用 AbortHandle::abort 方法来终止任务。
丢弃 AbortHandle 会释放终止任务的权限—它不会终止任务。
请注意,使用 spawn_blocking 派生的任务无法被终止,因为它们不是异步的。如果你对 spawn_blocking 任务调用 abort,则不会产生任何效果,任务将继续正常运行。例外情况是该任务尚未开始运行;此时调用 abort 可能会阻止该任务启动。
实现§
Source§impl AbortHandle
impl AbortHandle
Sourcepub fn abort(&self)
pub fn abort(&self)
终止与此 handle 关联的任务。
等待一个被取消的任务,如果该任务在被取消时已经完成,则可能会正常完成;但大多数情况下,它会因 取消 而失败并返回 JoinError。
如果任务已被取消(例如通过 JoinHandle::abort),则此方法不会做任何事。
请注意,使用 spawn_blocking 派生的任务无法被终止,因为它们不是异步的。如果你对 spawn_blocking 任务调用 abort,则不会产生任何效果,任务将继续正常运行。例外情况是该任务尚未开始运行;此时调用 abort 可能会阻止该任务启动。
另请参阅 模块级文档 以获取有关取消的更多信息。
Sourcepub fn is_finished(&self) -> bool
pub fn is_finished(&self) -> bool
检查与此 AbortHandle 关联的任务是否已完成。
请注意,即使任务上已调用了 abort,此方法也可能返回 false。这是因为取消过程可能需要一些时间,只有在取消完成后此方法才会返回 true。
Trait 实现§
Source§impl Clone for AbortHandle
impl Clone for AbortHandle
Source§impl Debug for AbortHandle
impl Debug for AbortHandle
impl RefUnwindSafe for AbortHandle
impl Send for AbortHandle
impl Sync for AbortHandle
impl UnwindSafe for AbortHandle
自动 Trait 实现§
Blanket 实现§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 更多信息