永发信息网

FutureTask的cancel方法真的能停止掉一个正在执行的异步任务吗

答案:2  悬赏:50  手机版
解决时间 2021-12-25 17:25
  • 提问者网友:太高姿态
  • 2021-12-24 20:18
FutureTask的cancel方法真的能停止掉一个正在执行的异步任务吗
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-12-24 21:16
Java中并没有可以真正中断线程的方法,早期的stop已经不推荐使用,而interrupt方法也需要代码片段中有sleep,wait,join这些方法的调用,否则不能停止线程,现在java推荐的方式就是将run方法执行完,这就需要我们在while循环中加一个标志来控制退出,不过我们不需要额外设置这个标志,只需要调用thread的isInterrupted()方法判断,这样外界就可以调用该线程的isInterrupted方法来停止现在了,不用额外添加标志。
全部回答
  • 1楼网友:冷風如刀
  • 2021-12-24 21:56
Java中并没有可以真正中断线程的方法,早期的stop已经不推荐使用,而interrupt方法也需要代码片段中有sleep,wait,join这些方法的调用,否则不能停止线程,现在java推荐的方式就是将run方法执行完,这就需要我们在while循环中加一个标志来控制退出,不过我们不需要额外设置这个标志,只需要调用thread的isInterrupted()方法判断,这样外界就可以调用该线程的isInterrupted方法来停止现在了,不用额外添加标志。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯