Фоновые задачи JavaFX | Как сделать графический интерфейс более плавным, быстрым и динамичным
Genuine Coder
0:00 / 0:00
Фоновые задачи JavaFX | Как сделать графический интерфейс более плавным, быстрым и динамичным
12 202 просмотра · 4 года назад
Genuine Coder
29,7 тыс. подписчиков
12 202 просмотра · 4 года назад
В этом руководстве мы рассмотрим параллелизм JavaFX и научимся использовать фоновые задачи JavaFX для более быстрой, плавной и динамичной работы приложений JavaFX.
Основной поток JavaFX (или поток графического интерфейса) отвечает за отрисовку и обновление содержимого экрана 60 раз в секунду. Это означает, что задержка между каждым кадром составляет всего 16,67 миллисекунды. Если в этом основном потоке выполнять сложные вычисления или выполнять трудоёмкие блокирующие операции, то он не сможет достичь целевой частоты 60 кадров в секунду. Фактически, частота может снизиться до одного кадра за 3 или 5 секунд, что может привести к тому, что приложение перестанет отвечать. Если приложение не отвечает в течение нескольких секунд, ОС начнёт отображать заголовок «Не отвечает».
JavaFX поддерживает выгрузку трудоёмких задач в фоновый поток с помощью подхода «Задачи». Задачи предоставляют очень простой и прямой подход к асинхронному выполнению кода с одновременным обновлением потока графического интерфейса. В этой главе мы рассмотрим javafx.concurrent.Task и узнаем, как использовать его для бесперебойного выполнения сложных фоновых операций в отдельном потоке с одновременным обновлением графического интерфейса.
Проект на Github: https://github.com/afsalashyana/JavaF...
Блог Genuine Coder: https://www.genuinecoder.com/
#JavaFX #Многопоточность #Java
Введение: (0:00)
Понимание проблемы с потоком графического интерфейса: (2:33)
Создание новой фоновой задачи: (04:29)
Обновление метки фоновой задачи: (09:52)
Добавление индикатора выполнения для отслеживания хода выполнения: (12:57)
Как отменить запущенную задачу: (17:14)