Ich glaube, dass wir dann von einem dann nehmen können. Zum BeispielHat boost :: future dann irgendeine Begrenzung seiner Länge?
boost::future<void> f1 = boost::async(...);
boost::future<void> f2 = f1.then(...);
boost::future<void> f3 = f2.then(...);
...
Wie lange könnte diese Fortsetzungskette sein? Es ist sicher, wenn wir eine lange dann/dann/dann-Kette haben.
Vielen Dank,
Wenn es für 'f1' unterstützt wird, warum würde jemand denken, dass es für' f2' usw. nicht unterstützt wird? Sind nicht alle von ihnen 'Zukunft' und somit * semantisch identisch *? – Nawaz
@Nawaz Wie ich gedacht hatte, könnte es als rekursiver Aufruf implementiert werden, um alle Aufrufe zu verketten. Wenn ja, würde es Überlauf-Stacks laufen. Wenn dies nicht der Fall ist, würde es keine Einschränkungen geben. –
Nein. Es ist nicht rekursiv .... und es kann nicht rekursiv sein; weil der Rückruf von 'f1' den Rückruf von' f2' nicht aufruft; es ist eher so: 'callback1' kehrt zurück, dann wird' callback2' aufgerufen, ein * nach * einem anderen, ** nicht ** ein * von * einem anderen. – Nawaz