- PR -

Timer用スレッドに名前を付ける方法

1
投稿者投稿内容
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2005-07-01 21:07
java.util.Timerを使ってジョブスケジューリングするプログラムがあります。

非常にシビアな運用を考えると、synchronizedブロックのロック待ちなどの問題で、ジョブが滞ってしまうような場合の原因追求のために、kill -3 で生成されるスレッドダンプを利用しようと考えています。

そのとき、各Timerオブジェクトの内部で使われるスレッドを識別するために、スレッドに名前を付けたいのです。

APIドキュメントを見ても、この目的に適うストレートなAPIはないようなのですが、何か良い知恵をお持ちの方はいらっしゃいませんか?
自分には、リフレクションで無理やりprivateなThreadオブジェクトのsetNameメソッドを叩くくらいしか思いつきませんで。

よろしくお願いします。
masa
大ベテラン
会議室デビュー日: 2005/05/11
投稿数: 108
投稿日時: 2005-07-01 22:00
こんばんは。

1.5ではコンストラクタで指定可能になっているようです。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Timer.html
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2005-07-02 02:20
masaさん、情報どうもありがとうございます。
書き忘れましたが、当方の環境は1.4.2でした。残念。
1

スキルアップ/キャリアアップ(JOB@IT)