当前位置:嗨网首页>书籍在线阅读

19-取消一个任务

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.6 取消一个任务

在一个 ForkJoinPool 类中执行 ForkJoinTask 实例对象时,我们可以在任务执行前取消任务。 ForkJoinTask 类用 cancel() 方法来实现这一目的。在取消任务之前,开发者应该考虑如下几点。

  • ForkJoinPool 类不提供取消池中全部等待执行和正执行任务的方法。
  • 当取消一个任务时,不能取消已经执行的任务。

本节将实现一个取消 ForkJoinTask 实例对象的案例。我们将在一个数组中搜索一个数字的位置,第一个找到该数字的任务将会取消其他任务。由于fork/join框架并没有相关功能,因此我们需要实现一个辅助类来完成取消操作。