9

在应用程序线程转储中,我可以看到具有五个线程的线程池,如下所示:

"pool-1-thread-5" prio=10 tid=0x000000000101a000 nid=0xe1f in Object.wait() [0x00007f3c66086000]
  java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000007b8e57af8> (a hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
    at java.lang.Object.wait(Object.java:503)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:316)
    - locked <0x00000007b8e57af8> (a hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:994)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1054)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
    at java.lang.Thread.run(Thread.java:722)

但我不直接使用这样的东西,也没有在依赖项中看到这样的东西。

这是什么(hidden.edu.emory.mathcs.backport)以及为什么使用它(在 jdk 7 上运行的应用程序)?我可以检测到应用程序的哪个部分启动它吗?

4

1 回答 1

14

这个edu.emory.mathcs.backport包树属于backport-util-concurrent,它是java.util.concurrent旧 Java 版本的反向移植。hidden前缀可能是由maven-shade-plugin.

如果您使用的是 Maven,您可以使用以下命令搜索此依赖项:

mvn dependency:tree -Dincludes=backport-util-concurrent:backport-util-concurrent
于 2013-01-22T19:04:23.857 回答