为了争论,假设我正在Future
为一个不可取消的任务实现。Java 6 API 文档说:
[
cancel()
] 返回后,后续调用isDone()
将始终返回true
。[
cancel()
]false
如果任务无法取消,则返回,通常是因为它已经正常完成
它还说:
如果此任务完成,[
isDone()
] 返回。true
但是,如果我的取消失败不是因为任务已经完成,而是因为它根本无法取消,该怎么办?有没有办法摆脱这种矛盾(除了让我无法取消的任务可以取消并完全回避它)?