我有一個多線程的應用程序,我通過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;
}
上述功能檢查所有正在運行的線程,然後從該組運行的線程返回所需的線程。也許我想要的線程被中斷,那麼上面的函數將不起作用。關於如何整合該功能的任何想法?
如何正在創建的線程? – 2013-03-12 19:17:13
只需按照名稱在'HashMap'中存儲所需的線程。 –
millimoose
2013-03-12 19:23:07
@JohnVint在另一個類中創建線程,所以我不能直接訪問它們。 – NullPointer 2013-03-12 19:23:31