Как обновления очереди потоков приложений JavaFX могут быть заняты? - PullRequest
1 голос
/ 05 мая 2019

Я изучал JavaFX самостоятельно и вступил в странное поведение из моего приложения JavaFX (работающего на Windows и JDK 1.8 ).

Я пыталсяпонять модель параллелизма JavaFX.Насколько я знаю, существует единственный поток, который называется Application Thread, который управляет как диспетчеризацией событий, так и очередями и обновлениями пользовательского интерфейса.

enter image description here

У меня естьобработчик первой кнопки («apri», который «открыт» на английском языке), который выполняет

Thread.sleep(2000)

, поэтому, как и ожидалось, графический интерфейс перестает работать на эти 2 секунды.

Но, если в это время я спамю, нажимаю вторую кнопку «Conferma Apertura» (которая «подтверждает открытие» на ENG), GUI ничего не делает в течение оставшегося времени.

После окончания времени ожидания выполняется обработчик, зарегистрированный на второй кнопке.

Это подсказало мне, что даже если поток приложения спал, какой-то (может быть, «другой») поток очереди работал и все равно помещал события в очередь.

Как вы могли бы объяснить это поведение?Операционная система так или иначе вовлечена в это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...