JavaFX でのデータベースリクエストのスレッドの使用
JavaFX にはマルチスレッドに関する特定の要件があります。
データベース アクセスのスレッド
データベースのスレッド化を効果的に実装するには操作:
javafx.concurrent API を使用します。
JavaFX が提供するマルチスレッドと UI を簡素化する javafx.concurrent API更新:
データベースを備えたサンプル コントローラーAccess
private WidgetDAO widgetAccessor; // DAO object for database access private Executor exec; // Executor for background threads // ... Initialization and button handling code ... // Background task for database access Task<List<Widget>> widgetSearchTask = new Task<>() { @Override public List<Widget> call() throws Exception { return widgetAccessor.getWidgetsByType(searchString); } }; // UI update on task success widgetSearchTask.setOnSucceeded(e -> { widgetTable.getItems().setAll(widgetSearchTask.getValue()); }); // Task execution on a background thread exec.execute(widgetSearchTask);
このコードは、データベース アクセスを DAO オブジェクトにカプセル化し、タスクを使用してバックグラウンド スレッドでクエリを実行します。 UI の更新はタスクの成功ハンドラーを使用してスケジュールされ、JavaFX アプリケーション スレッドで確実に実行されます。
以上がJavaFX アプリケーションはスレッドを使用してデータベース クエリを安全に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。