スレッドを使用してデータベースリクエストを行う
JavaFX は、バックグラウンド スレッドでコードを実行するために特別に設計された同時実行 API を提供します。コードの実行完了時 (または実行中) に JavaFX UI を更新します。 javafx.concurrent の主要なクラスは Task で、バックグラウンド スレッドで実行されることを目的とした単一の 1 回限りの作業単位を表します。このクラスは、単一の抽象メソッド call() を定義します。このメソッドはパラメータをとらず、結果を返し、チェック例外をスローする場合があります。 データベース リクエストのスレッドを正しく実装するには、長時間実行操作 (データベース アクセス) をバックグラウンド スレッドで実行し、完了時に操作の結果を返し、UI (FX アプリケーション) で UI の更新をスケジュールする必要があります。 ) 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 中国語 Web サイトの他の関連記事を参照してください。