Es gibt 6 State im Enum:
Es gibt mind. diese Status:
Hier mal ein Beispiel, für einige Status. Die Thread-Klasse die nur 5 Sekunden warte: „Java Thread – 6 State oder wie starten wir ein einfaches Java Programm auf dem Raspberry Pi“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Statistik, Krypto und Blockchain
Es gibt 6 State im Enum:
Es gibt mind. diese Status:
Hier mal ein Beispiel, für einige Status. Die Thread-Klasse die nur 5 Sekunden warte: „Java Thread – 6 State oder wie starten wir ein einfaches Java Programm auf dem Raspberry Pi“ weiterlesen
Um einen neuen Thread zu starten der ein Ergebniss asynchron liefert, gibt es seit Java 1.5 die Schnittstelle Callable
.
Was muss getan werden?
-Die Klasse mit dem Ergebniss muss Callable
implementieren und V call() throws Exception
überschreiben.
-Evl. im Konstruktor der Ergebniss Klasse Parameter mitgeben.
-Dann den Excecutor anlegen ExecutorService executor = Executors.newCachedThreadPool();
-Einen neuen Überwachungs Thread starten mit Future> erg = executor.submit(ergebnisKlasse)
.
Würde man Future> erg = executor.submit(u).get()
verwenden würde eine synchrone abarbeitung des Threads erfolgen. Das heißt es würde die weitere Bearbeitung solange geblockt, bis der Thread fertig ist.
-Mit erg.get(1, TimeUnit.SECONDS)
wird das Ergebnis des Threads geliefert oder aber wenn die angegebenen Zeit abgelaufen ist wird
eine TimeoutException
geworfen.
-Mit erg.isDone()
kann abgefragt werden ob der Thread fertig ist oder nicht