JavaFX에서 데이터베이스 요청에 스레드 사용
JavaFX에는 멀티스레딩에 대한 특정 요구 사항이 있습니다.
데이터베이스 액세스를 위한 스레딩
데이터베이스에 대한 Threading을 효과적으로 구현하기 위해 작업:
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 개체에 데이터베이스 액세스를 캡슐화하고 Task를 사용하여 백그라운드 스레드에서 쿼리를 수행합니다. UI 업데이트는 작업의 성공 핸들러를 사용하여 예약되어 JavaFX 애플리케이션 스레드에서 실행되도록 합니다.
위 내용은 JavaFX 응용 프로그램이 스레드를 사용하여 데이터베이스 쿼리를 어떻게 안전하게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!