如何控制线程是否停止,或运行时间过长?

时间:2012-04-04 12:23:47

标签: java eclipse multithreading

我是Java的新手并且已经找到了一个任务,为什么在运行服务器一段时间后需要100%的CPU。我想我应该看一下,线程在这个应用程序中做了什么。由于我想停止服务,第5605个线程已经启动。如何控制哪些线程停止或运行太长时间?

感谢。

2 个答案:

答案 0 :(得分:0)

服务器和客户端jvms(Java虚拟机)不同。客户的想法基本上是“你将成为尝试使用相同资源的其他人之一”。服务器的想法是“继续,你自己拥有所有游乐场”。

答案 1 :(得分:0)

如果您在* nix环境中,请首先尝试查找进程ID

  1. 获取进程ID。    ps -ef | grep“java”
  2. 获取线程转储。    kill -3 processid
  3. 查看服务器日志中有哪些线程,如果有任何“阻塞”线程,那么它们就是查看堆栈跟踪的罪魁祸首,它可能会给出一些线索。