java - 关闭除主线程之外的所有线程

标签 java multithreading

我想在调用我的 main 方法时关闭所有正在运行的线程(如果有)。

public static void main(String[] args) throws Exception {
  // Close all thread except current one
  ...
  // Remaining of my program
}

最佳答案

首先,您是否知道 JVM 中有一些自动启动的线程,您不应该乱动它们?其中包括 Finalizer 线程、各种 JMX 线程、Swing 的 EDT、Reference Handler 等。

其次,您是否意识到您不能安全地停止 Java 中的线程?你只能轻轻地让它停下来。

如果您了解上述情况,请尝试迭代 JVM 中的所有线程(请参阅: Get a List of all Threads currently running in Java )并对每个线程调用 interrupt()(不包括你的线程。请不要使用 stop(),因为这可能会导致非常严重的问题,例如死锁。

关于java - 关闭除主线程之外的所有线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9495272/

相关文章:

java - Eclipse RCP : How to listen to CheckboxTableViewer selection in other view

java - 如何使用 POI 设置空白 excel 单元格

c - 如何从另一个函数内的随机位置调用 C 函数?

c# - 多参数线程

java - 你如何从java中相同索引的三个并行数组中删除一个元素?

java - 有没有办法强制 Axis1 生成文档文字 WSDL 和 SOAP?

C++11 多线程问题

c# - 立即停止线程

java - 在多线程环境中并行执行每个子任务

java - 通过 WebLogic 连接数据库