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 Callableimplementieren 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
