如果應用程序在其代碼中的各個位置(包括從引用的jar中)啓動多個線程(使用new Thread()
以及使用ExecutorService
),那麼識別啓動任何特定線程的源代碼(如在應用程序的執行實例中所見)在大型應用程序的源代碼中跟蹤線程初始化
這很有幫助,例如,在線程導致Exception
的情況下 - 我們需要從源代碼開始,初始化(以便上下文清晰)。我從VisualVM獲得的線程轉儲顯示許多運行/等待線程,但堆棧根似乎總是at java.lang.Thread.run(Thread.java:722)
- 不是很有幫助。 `
給他們所有獨特的名字怎麼樣? – Andremoniy 2013-04-08 18:07:39
@Andremoniy這是一個好主意!但如果這是傳統代碼呢? – Eugene 2013-04-08 18:11:09
許多線程名稱都是在代碼中生成的 - 對調試無用 – Bhaskar 2013-04-08 18:14:29