2012-01-16 9 views
8

私はまた、多くのライブラリを使用する大きなプロジェクトを持っています。タイマースレッドのソースを見つけるには?

Timer-2, Timer-3, Timer-4.... 

とすべてのことjstackは私ディスプレイであることができます:

java.lang.Thread.State: TIMED_WAITING (on object monitor) 
    at java.lang.Object.wait(Native Method) 
    at java.util.TimerThread.mainLoop(Unknown Source) 
    - locked <0x1a013c24> (a java.util.TaskQueue) 
    at java.util.TimerThread.run(Unknown Source) 

は、これらのスレッドが作成したクラスを発見することは可能ですか?jstackで、私はそこのスレッドが似ていることがわかりましたか

+0

プールトレッドのようです。問題は、このプールトレッドに実行するタスクを誰が追加しているかを調べることです。 – helios

+0

http://www.java2s.com/Code/JavaAPI/java.lang/ThreadenumerateThreadtarray.htm – user1097489

答えて

2

タイマスレッドはjava.util.Timerによって作成されます。

デバッガを使用できる場合は、Timerコンストラクタにブレークポイントを設定してソースを見つける必要があります。

+0

私はAspectJを使うことができると思いますか? – user710818

1

デバッグ環境でコードを実行し、スレッドコンストラクタにブレークポイントを設定します。

+0

これはライブラリの1つで作成されたスレッドです。問題が見つかりました。 – user710818

+0

デバッガの下で、それらのライブラリのいずれかがスレッドを作成するときを見ることができます。 – gliptak

+0

デバッガ下のすべてのコード - 標準ライブラリのみ – user710818

関連する問題