Erhalte den Status eines std :: future

Ist es möglich zu überprüfen, ob eine std::future beendet wurde, oder nicht? Soweit ich sagen kann der einzige Weg, es zu tun wäre zu nennen wait_for mit einer null-Dauer und überprüfen Sie, ob der status ready oder nicht, aber gibt es einen besseren Weg?

Kommentar zu dem Problem
Überprüfen Sie valid? Kommentarautor: Cat Plus Plus
@CatPlusPlus Wenn ich nicht Irre, valid prüft nur, ob die Zukunft einen gemeinsamen Staat (D. H. Es gibt true bis get aufgerufen wird, auf die Zukunft). Kommentarautor: David Brown
Also, wenn get aufgerufen wurde und liefert den gespeicherten Wert, wollen Sie immer noch true? (Ich bin mir nicht sicher, warum dies wäre sinnvoll, da bekommst du nur den Wert einmal.) Kommentarautor: James McNellis
Ein warten mit einer null-timeout ist, wie die meisten APIs über viele Plattformen beschäftigen sich mit einem solchen Konzept... So sehr, dass ich denken würde, es der "standard" Weg der Annäherung an das Konzept. Das macht mich ein bisschen verwirrt bei der Vorstellung von der "besseren Weg"... Kommentarautor: asveikau
@asveikau ich war nicht bewusst, dies war eine gängige Praxis. Es fühlt sich einfach merkwürdig Aufruf einer wait-Funktion, wenn ich nicht wollen, zu warten. Kommentarautor: David Brown

InformationsquelleAutor der Frage David Brown | 2012-06-05

Schreibe einen Kommentar