使用執行緒進行資料庫請求
JavaFX 提供了專門為在後台執行緒中執行程式碼而設計的並發API,該API 專門設計用於在該程式碼執行完成(或期間)時更新JavaFX UI。 javafx.concurrent 中的關鍵類別是 Task,它表示要在後台執行緒上執行的單一一次性工作單元。此類別定義了一個抽象方法 call(),它不帶任何參數,傳回結果,並且可能拋出已檢查的例外。 要正確實現資料庫請求的線程化,應在後台線程中執行長時間運行的操作(資料庫存取),完成時返回操作結果,然後安排對UI 上的UI 進行更新(FX 應用程式) ) 執行緒使用Platform. runLater(Runnable r) 在FX 應用程式執行緒上執行r.run()。
一般良好實踐多執行緒
使用javafx .concurrent API
例如:
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);
以上是如何使用JavaFX執行緒高效處理資料庫請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!