Регулирование обновлений javafx GUI
Я получаю объекты данных в случайное время с высокой частотой, и мне необходимо обновить графический интерфейс JavaFX с помощью них. Однако я не хочу заполнять очередь событий javafx очень большим количеством исполняемых файлов (я использую Platform.RunLater).
Я думал о том, как наилучшим образом реализовать алгоритм регулирования.
Было бы лучше иметь отдельный поток GUIUpdater, который проверяет, например, очередь блокировки для новых объектов, а затем спит, например, в течение 30 мс, а затем проверяет снова, в бесконечном цикле? В этом случае будет ли блокирующая очередь оптимальной структурой данных? Обратите внимание, что мне нужен только последний объект данных, а blockingQueue - это очередь FIFO, и я не могу выбрать только последнюю запись.Или - было бы лучше просто обновить графический интерфейс с помощью Platform.RunLater, если nanoTime-startTime> 30 мс? В этом случае мне не нужен отдельный поток для выполнения вызова Platform.RunLater. Однако - если обновление получено, когда 30 мс не прошло, а затем в течение некоторого времени не было получено никаких обновлений, последнее обновление не будет отображаться в графическом интерфейсе.Любые предложения о том, как разработать алгоритм регулирования для обновлений графического интерфейса JavaFX Platform.RunLater кратким и эффективным способом?