java - 即使任务尚未完成,如何停止执行程序服务线程?

标签 java multithreading executorservice

我使用执行器服务启动了一些线程,以从网络获取一些文件。我希望线程在一段时间后停止执行,即使它们的运行方法尚未完成。 怎么做?甚至执行器的 shutdown() 和awaitTermination(...) 方法也不起作用。

最佳答案

简单的答案是你不能。 Thread.stop() 很久以前就被弃用了,因为它不可靠并且容易留下脏资源。

您唯一可以做的另一件事是让线程在其工作负载期间暂停并检查退出条件(例如被中断或超出某个预定义的时间限制)。

关于java - 即使任务尚未完成,如何停止执行程序服务线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464710/

相关文章:

java - 从 byteArray 到 bigInteger

java - 使用 vlcj 流式传输视频文件

c++ - 多线程应用程序概念

java - 哪种设计模式可以帮助我实现连接池

java - 使用 ExecutorService 有序写入同一文件

java - 从 BlockingQueue 获取时缺少项目

java - 使用 Java CompletableFuture 方法时的同步行为

java - Number 操作的通用类

java - 为什么我的 InputStream 在 Android 中无法工作?

c# - 您如何跟踪线程/线程上下文?