你可以保持線程對象的引用的地方好讓你可以調用threadObj.logOff()
如果你不願意這樣做,那麼在創建thred U可以的唯一名稱分配給線程。
public void run()
{
this.setName(strCashireID);
......
}
在運行時,U可以通過獲取線程:
Thread getThread(String strCashireID) {
ThreadGroup threadGroup = Thread.currentThread().getThreadGroup();
Threads[] threads = new Thread[ threadGroup.activeCount() ];
threadGroup.enumerate(threads);
for (int nIndex=0; nIndex<threads.length; nIndex++) {
if(threads[nIndex] != null && threads.getName().equals(strCashireID) {
return threads[nIndex];
}
}
return null;
}
我還是會建議ü存儲線程對象的哈希表,而不是在運行時列舉他們。
這取決於你如何創建線程。你能通過數組引用它嗎? –
嗯我不知道你可以存儲數組中的線程對象我會看看這種方法。 – mikeyP
@mikeyP - 你也可以把它們放在'HashMap';你提到了一些關於他們具有「名字」的東西,這將是('String')鍵。 –