Auf der Java -Plattform haben die Rollen, die asynchrone Anrufe implementieren, die folgenden drei Rollen:
Der Pickup -Gutschein des Anrufers echte Daten
Wenn ein Anrufer einen zeitaufwändigen Betrieb anruft und keine Daten sofort zurückgeben kann, gibt er zunächst einen Pickup-Gutschein zurück.
Beim Aufrufen einer Methode wird das Programm nach der Ausführung der aufgerufenen Methode in die aufgerufene Methode eingegeben, um die nächste Anweisung auszuführen. Wie kann ich nach dem Senden der Anfrage die nächste Anweisung ausgesetzt, ohne auf die Antwort der Anfrage zu warten. Kern Java2 ..... .ETC. Inspiriert von Multi-Thread-Download-Tools und Mootools 'Anfrage habe ich eine Java-Version der Anfrage erstellt, aber ich weiß nicht, wie seine Leistung ist.
Anfrage: Anfrage Vektor
öffentliche Klassenanfrage {private RequestContent RC; // Anfrage der öffentlichen Anfrage (RequestContent RC) {this.rc = rc; run () {try {rc.dosomething (); // auf Anfrage} catch (Ausnahme e) {E.printstacktrace (); Wenn die Ausführung erfolgreich ist}}); RequestContent: Request Principal
Abstract Class RequestContent {void onSuccess () {// erfolgreiche Aktion ausführen. Benutzer können dieses Methode system.out.println ("Onsuccess") überschreiben; Benutzer können dieses Methode -System überschreiben. Test: Test
Neue Anfrage (neue RequestContent () {void dosomething () {system.out.println ("dosomething");} void onSuccess () {System.out.println ("Override Onsu Ccess");}}). start (). ;Der obige Code ist der asynchrone Ruf von Java, den der Herausgeber mit Ihnen geteilt hat.