マルチスレッド アプリケーションがあり、プロパティを介して各スレッドに一意の名前を割り当てsetName()
ます。ここで、スレッドに対応する名前で直接アクセスする機能が必要です。
次の関数のようなもの:
public Thread getThreadByName(String threadName) {
Thread __tmp = null;
Set<Thread> threadSet = Thread.getAllStackTraces().keySet();
Thread[] threadArray = threadSet.toArray(new Thread[threadSet.size()]);
for (int i = 0; i < threadArray.length; i++) {
if (threadArray[i].getName().equals(threadName))
__tmp = threadArray[i];
}
return __tmp;
}
上記の関数は、実行中のすべてのスレッドをチェックし、実行中のスレッドのセットから目的のスレッドを返します。目的のスレッドが中断されている可能性があります。その場合、上記の機能は機能しません。その機能を組み込む方法についてのアイデアはありますか?