java 线程池中的任务如何限定时间?

如果自己开线程我通常这么写


t.join(2000)
t..interrupt();

使用 ThreadPoolExecutor 来执行任务后,不知道如何强制停止已经超时的任务了。

阅读 2.6k
1 个回答

有一种方案是使用FutureTask,里面有一个get方法,带timeout参数,如果执行时间超过timeout,抛出TimeoutException,可以catch一下进行处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题