当java线程转储中的线程没有调用堆栈时,这意味着什么?

时间:2013-05-17 03:27:50

标签: java jvisualvm thread-dump

我已经获得了jvisualvm为使用JNI实现的本机共享库生成的线程转储。它正在一个应用程序中运行,该应用程序通过Dot.Net的Parallel.For从多个线程调用它。该库的java部分有一个线程池,但它的大小是有限的,并且该库的本机部分本身不会创建任何线程。

似乎正在发生的是越来越多的线程被创建,最终应用程序因内存不足而崩溃。奇怪的是,基本上应用程序唯一要做的就是在循环中调用Parallel.For中的库,并且由它创建的任何线程都不应该“泄漏”(对吗?)。

线程转储包含许多表单的条目:

"Thread-139" prio=6 tid=0x0ba33c00 nid=0x22ac runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

究竟是什么意思?

0 个答案:

没有答案