Dieser Artikel bietet Ihnen eine Einführung in asynchrone Springboot-Aufrufe (mit Code). Freunde in Not können darauf verweisen.
Synchronisierung
Die Programme werden nacheinander in der definierten Reihenfolge ausgeführt. Jede Programmzeile muss auf den Abschluss der vorherigen Programmzeile warten, bevor sie ausgeführt werden kann Funktionsaufruf wird ausgegeben, bevor das Ergebnis erhalten wird, das Programm Der Aufruf kehrt nicht zurück.
Asynchron
Wenn das Programm sequentiell ausgeführt wird, wird das nachfolgende Programm ausgeführt, ohne darauf zu warten, dass die asynchrone Aufrufanweisung das Ergebnis zurückgibt. Wenn ein asynchroner Prozeduraufruf ausgegeben wird, kann der Aufrufer das nicht erhalten Ergebnis sofort.
Synchronisationscode
Serviceschicht:
public void test() throws InterruptedException { Thread.sleep(2000); for (int i = 0; i < 1000; i++) { System.out.println("i = " + i); } }
Controllerschicht:
@GetMapping("test") public String test() { try { Thread.sleep(1000); System.out.println("主线程开始"); for (int j = 0; j < 100; j++) { System.out.println("j = " + j); } asyncService.test(); System.out.println("主线程结束"); return "async"; } catch (InterruptedException e) { e.printStackTrace(); return "fail"; } }
Anfrage im Browserhttp://localhost:8080/test
Konsolendruckreihenfolge:
Fügen Sie die Annotation @Async
zur Testmethode der Serviceschicht hinzu und fügen Sie die Annotation @EnableAsync
zur Startklasse für asynchrone Effekte hinzu.
Serviceschicht:
@Async public void test() throws InterruptedException { Thread.sleep(2000); for (int i = 0; i < 1000; i++) { System.out.println("i = " + i); } }
Controller bleibt unverändert, Start die Klasse plus @EnableAsync
:
@SpringBootApplication @EnableAsync public class AsyncApplication { public static void main(String[] args) { SpringApplication.run(AsyncApplication.class, args); } }
Fordern Sie die Drucksequenz erneut wie folgt an:
Das obige ist der detaillierte Inhalt vonEinführung in asynchrone Springboot-Aufrufe (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!