可取消性:为什么开始了仍应允许停止?

可取消性:为什么开始了仍应允许停止?

可取消性,是一个过程在尚未自然结束时,能够接受停止请求,并进入清楚、安全的状态。它不同于可逆性:可逆性处理“结果已经产生,能否撤回”;可取消性处理“事情还在进行,能否不再继续”。

例如,一个批量生成任务要处理一百份文件,用户在第五份发现参数错了。真正的取消不能只是关掉进度窗口;它要阻止新的工作进入队列,让正在执行的最小步骤在安全边界停下,并标明前五份哪些完整、哪些未完成。否则界面看似停止,后台仍继续消耗时间并写入错误结果。

取消也不一定等于瞬间终止。若一个步骤必须保持原子性,系统可以先完成或回滚这个小步骤,再停在可解释的边界。这个概念的重要性在于:启动不应自动变成不可退出的承诺。一个过程越长、成本越高、对外部状态影响越大,就越需要把“怎样停止”作为设计本身,而不是出错后的补丁。


了解 Geoffrey Chen 的更多信息

订阅后即可通过电子邮件收到最新文章。