11.07.2022
Threads, Ende feststellen
Ein Thread ist beendet, wenn die run()-Methode verlassen wurde.
Abfrage, bo Thread noch läuft:
// Einen Thread starten:
Thread thread = new MyThread();
thread.start();
// Abfragen, ob der Thread noch läuft:
if (thread.isAlive()) {
// Thread läuft noch...
} else {
// Thread ist beendet
}
Eine festgelegt Zeit auf den Thread warten:
// Einen Thread starten:
Thread thread = new MyThread();
thread.start();
// Eine festgelegte Zeit auf das Ende eines Threads warten:
long waitMillis = 10000; // 10 Sekunden
try {
thread.join(waitMillis);
if (thread.isAlive()) {
// Die 10 Sekunden sind um; der Thread läuft noch
} else {
// Thread ist beendet
}
} catch (InterruptedException e) {
// Thread wurde abgebrochen
}
Warten bis der Thread beendet ist:
// Einen Thread starten:
Thread thread = new MyThread();
thread.start();
// Warten bis der Thread beendet ist:
try {
thread.join();
// Code der hier steht wird abgearbeitet, wenn der Thread fertig ist.
} catch (InterruptedException e) {
// Thread wurde abgebrochen
}