【问题标题】:How to kill a thread running in the background - Java?如何杀死在后台运行的线程 - Java?
【发布时间】:2018-07-11 07:12:45
【问题描述】:

我的情况是,对于用户的每次点击,线程池中的一个线程都会在后台运行。所以当多个用户点击时,会有多个线程在后台运行。现在,当一个用户刷新他们的浏览器时,我想终止运行特定用户浏览器窗口的那个线程,以便该线程返回线程池。

这可能吗?我该怎么做?

提前致谢

【问题讨论】:

  • 你这样做的障碍是什么?是什么阻止你编写你想要的代码?这似乎很简单。
  • 您是在使用自己的线程池还是像ExecutorService 这样的现有解决方案?您应该提供一些示例代码,以便我们知道必须做什么。

标签: java multithreading threadpool


【解决方案1】:

希望这会有所帮助。

{jstack JAVA_PID}

为您提供在 jvm 中运行的具有进程 ID 和线程 ID 的线程列表。

线程 id 是 hexa 格式。将此输出映射到下面提到的 top 命令。

顶部 JAVA_PID

【讨论】:

  • 问题不表示线程杀死应该由OP手动执行。那会很不方便。
  • 是的,你是对的。这就是为什么我有点希望地说。这就是我过去在幕后处理线程的方式。
猜你喜欢
  • 2011-04-25
  • 1970-01-01
  • 2018-03-08
  • 2018-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多