twisted latente/Rückrufe und asynchronen Ausführung

Ich versuche, herauszufinden, wie kann ich meinen code mehr asynchrone twisted.

  • Eine Funktion gibt ein deferred-Objekt
  • dann füge ich eine Liste der Rückrufe
  • die erste callback-wird aufgerufen, nachdem die latente Funktion liefert ein Ergebnis durch deferred_obj.callback
  • dann, in der Kette von Rückrufen, der erste Rückruf wird noch was mit den Daten und rufen Sie die zweite callback -
  • und etc.

jedoch angekettet Rückrufe werden nicht als asynchrone, denn Sie sind angekettet und die Ereignis-Schleife wird feuern jeder von Ihnen gleichzeitig, bis es keine mehr, richtig?

Jedoch, wenn ich ein deferred-Objekt, und lege ich, wie seine Rückruf der deferred_obj.Rückruf als in d.addCallback(deferred_obj.callback) dann wird dies als asynchron, weil die deferred_obj wartet auf die Daten, und dann die Methode, die übergeben wird, werden die Daten warten auf Daten als auch, jedoch sobald ich d....callback '- d' - Objekt verarbeitet die Daten dann rufen Sie deferred_obj.callback-aber da dieses Objekt ist zurückgestellt, im Gegensatz zu dem Fall gefesselt Rückrufe, es wird asynchron... richtig?

Vorausgesetzt, alle mein code ist nicht-blockierend, das bedeutet, dass verkettet Rückrufe sind NICHT asynchron, während gekettet deferreds sind, richtig?

  • Bitte nehmen Sie sich diese und nutzen es in deinem wall of text: ...........
  • was auch immer das bedeutet :/
  • er meinte deine Frage ist sehr schwer zu Lesen, da es eine wall of text, so sollten Sie etwas mehr Platz...
  • Er meinte interpunction im Allgemeinen.
InformationsquelleAutor mayotic | 2010-12-27
Schreibe einen Kommentar