Threads verwenden, um Datenbankanfragen zu stellen
JavaFX bietet eine Parallelitäts-API, die speziell für die Ausführung von Code in einem Hintergrund-Thread entwickelt wurde, wobei die API speziell dafür entwickelt wurde Aktualisieren der JavaFX-Benutzeroberfläche nach Abschluss (oder während) der Ausführung dieses Codes. Die Schlüsselklasse in javafx.concurrent ist Task, die eine einzelne, einmalige Arbeitseinheit darstellt, die in einem Hintergrundthread ausgeführt werden soll. Diese Klasse definiert eine einzelne abstrakte Methode, call(), die keine Parameter akzeptiert, ein Ergebnis zurückgibt und möglicherweise geprüfte Ausnahmen auslöst. Um das Threading für Datenbankanforderungen korrekt zu implementieren, sollte der lang andauernde Vorgang (Datenbankzugriff) in einem Hintergrundthread ausgeführt werden, die Ergebnisse des Vorgangs zurückgeben, wenn er abgeschlossen ist, und dann eine Aktualisierung der Benutzeroberfläche auf der Benutzeroberfläche (FX-Anwendung) planen ) Thread, der Platform.runLater(Runnable r) verwendet, um r.run() im FX-Anwendungsthread auszuführen.
Allgemeine gute Praktiken für Multithreading
Verwenden der javafx.concurrent-API
Zum Beispiel:
final int courseCode = Integer.valueOf(courseId.getText()); Task<Course> courseTask = new Task<Course>() { @Override public Course call() throws Exception { return myDAO.getCourseByCode(courseCode); } }; courseTask.setOnSucceeded(e -> { Course course = courseTask.getCourse(); if (course != null) { courseCodeLbl.setText(course.getName()); } }); exec.execute(courseTask);
Das obige ist der detaillierte Inhalt vonWie kann ich JavaFX-Threads verwenden, um Datenbankanfragen effizient zu verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!