在應用程序線程轉儲我可以看到線程池與五個線程類似以下內容:hidden.edu.emory.mathcs.backport *
"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上運行的應用程序)?我可以檢測到啓動它的應用程序的哪一部分?
如果你能在啓動過程中調試這個程序,把一個斷點'hidden.edu.emory.mathcs.backport.java。 util.concurrent.ThreadPoolExecutor的構造函數,並查看誰調用它。如果只能在運行時調試它,則斷點執行和提交方法。調用代碼的性質會告訴你它爲什麼被使用。 –