在Java应用程序中查找线程创建源
我正在研究一个具有线程问题的Java应用程序。
在连接Netbeans分析器一段时间使用这些应用程序时,我可以看到创建了多个线程。 他们中的大多数在.5 seconds
完成。 我只能在应用程序中找到SwingWorkers。
此外,探查器显示的大部分线程都是普通线程,而不是SwingWorkers。 除非这些线程是由SwingWorker间接创建的,否则我怀疑应用程序使用的某些库正在创建它们。
现在我想删除这个问题。 但是我找不到确定线程创建源的方法。 如果你可以请建议一些其他的剖析器/工具,通过它我可以找到线程创建的来源(方法)。
如果使用Eclipse及其调试器是一个选项,您可以尝试以下操作:
另外
您可以获得Yourkit Java分析器,该分析器也可用于评估。 它可以显示应用程序中创建的线程,包括它们的堆栈跟踪(线程完成后)。 它不会显示线程的创建位置,但线程的堆栈跟踪可能会为您提供有关涉及的库的一些线索。
JProfiler可以做到这一点。 线程监视器视图显示创建线程的堆栈跟踪 - 如果此时CPU记录处于活动状态:
免责声明:我公司开发JProfiler
链接地址: http://www.djcxy.com/p/82421.html上一篇: Finding Source of Thread Creation in a Java application