我正在研究一个有线程问题的Java应用程序。
在附加Netbeans Profiler的情况下使用应用程序一段时间后,我可以看到创建了几个线程。其中大部分都以.5 seconds
完成。我只能找到应用程序中使用的SwingWorkers。
此外,探查器显示的大多数线程都是普通线程而不是SwingWorkers。除非这些线程是间接由SwingWorker创建的,我怀疑,应用程序使用的某些库正在创建它们。
现在我想删除此问题。但我找不到确定线程创建源的方法。如果你能建议一些其他的探查器/工具,我可以通过它找到线程创建的源(方法)。
答案 0 :(得分:9)
如果使用Eclipse及其调试器是一个选项,您可以尝试以下方法:
或者
您可以获得Yourkit Java profiler,也可以进行评估。它可以显示在应用程序中创建的线程,包括它们的堆栈跟踪(也在线程完成之后)。它没有显示创建线程的位置,但线程的堆栈跟踪可能会为您提供有关所涉及库的一些线索。
答案 1 :(得分:7)