K
KuhTee
Gast
Hallo,
ich habe eine Library, welche diverse asynchron laufende Methoden zur Verfügung stellt. Diese Methoden liefern mir ein Future Objekt zurück. Das ist prinzipiell sehr gut, aber nun habe ich gemerkt, dass es offenbar keinen FutureListener (oder ähnliches) gibt? Offenbar gibt es nur zwei blockierende (!) get() Methoden, deren Verwendung auch im Beispiel in der Future Beschreibung drinsteht. Nun habe ich also eine asynchron laufende Funktion, aber am Ende warte ich doch wieder blockierend. Keine Ahnung, wer bei Sun/Oracle da zuviel Gras geraucht hat, aber sehr durchdacht scheint mir das nicht.
Gibt es da eine empfohlene Lösung? Evtl eine, die über einen weiteren Thread, welcher ständig auf das Future pollt, hinaus geht?
Beim googlen habe ich diverse Vorschläge gefunden wie das Erben von ThreadPoolExecuter und allerlei andere Vorschläge, die mir aber nicht wirklich weiterhelfen. Mehr als das Future was ich zurückbekomme habe ich wie gesagt nicht.
Danke.
ich habe eine Library, welche diverse asynchron laufende Methoden zur Verfügung stellt. Diese Methoden liefern mir ein Future Objekt zurück. Das ist prinzipiell sehr gut, aber nun habe ich gemerkt, dass es offenbar keinen FutureListener (oder ähnliches) gibt? Offenbar gibt es nur zwei blockierende (!) get() Methoden, deren Verwendung auch im Beispiel in der Future Beschreibung drinsteht. Nun habe ich also eine asynchron laufende Funktion, aber am Ende warte ich doch wieder blockierend. Keine Ahnung, wer bei Sun/Oracle da zuviel Gras geraucht hat, aber sehr durchdacht scheint mir das nicht.
Gibt es da eine empfohlene Lösung? Evtl eine, die über einen weiteren Thread, welcher ständig auf das Future pollt, hinaus geht?
Beim googlen habe ich diverse Vorschläge gefunden wie das Erben von ThreadPoolExecuter und allerlei andere Vorschläge, die mir aber nicht wirklich weiterhelfen. Mehr als das Future was ich zurückbekomme habe ich wie gesagt nicht.
Danke.