cancel

abstract fun cancel(cause: Throwable?)(source)

取消此插件。

当插件被取消时,其应当立刻尝试等待并停止其所有工作、取消其内部的所有可取消的子工作, 并且释放所有资源。过程中,应当立刻生效并拒绝所有新的行为申请。

当调用 cancel 后,isActive 的值立即变为 false,并进入 取消流程 。 当取消流程完全结束后,isCanceled 的值将会变为 true。而在此期间,为 正在关闭 状态。

cancel 应当是原子的,且可以多次调用。当调用一次后,后续的其他调用将无效。

cancel 的实现应当尽可能地快速且避免阻塞。