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