Mam aplikację wielowątkową i przypisuję unikalną nazwę do każdego wątku za pośrednictwem właściwości setName()
. Teraz chcę funkcjonalność, aby uzyskać dostęp do wątków bezpośrednio z ich odpowiednią nazwą.Pobierz wątek według nazwy
Coś jak następującej funkcji:
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;
}
Powyższe kontroli działania wszystkich wątków uruchomione i występuje ponownie żądaną gwint ze zbioru prowadzących nici. Może mój pożądany wątek zostanie przerwany, a powyższa funkcja nie zadziała. Wszelkie pomysły na włączenie tej funkcjonalności?
Jak nici powstaje? –
Po prostu zapisz potrzebne ci w "HashMap" według ich nazw. –
millimoose
@JohnVint Wątki tworzone w innej klasie, dlatego nie mogę uzyskać do nich bezpośredniego dostępu. – NullPointer