首页 > 代码库 > 《Java并发编程实战》(六)---- 取消与关闭

《Java并发编程实战》(六)---- 取消与关闭

  任务和线程的启动很容易。然而,有时候我们希望提前结束任务或线程,或许是因为用户取消了操作,或者应用程序需要被快速关闭。

  要使任务和线程能安全/快速/可靠地停止下来,并不是一件容易的事。Java没有提供任何机制来安全地终止线程,但它提供了中断,这是一种协作机制,能够使一个线程终止另一个线程的工作。

  1,任务取消

  如果外部代码能在某个操作正常完成之前将其置入“完成”状态,那么这个操作就可以称为可取消的。取消某个操作的原因有:

  • 用户请求取消
  • 有时间限制的操作
  • 应用程序事件,比如把搜索任务分为多个线程执行,只要其中一个找到,其他线程就不必要再继续执行。
  • 错误
  • 关闭

 

《Java并发编程实战》(六)---- 取消与关闭