UI потоки в java

333
05 апреля 2017, 14:10

Что такое UI потоки в Java? В чем их отличие от обычных потоков Thread?

Answer 1

UI поток - обычный поток, но в нем и только в нем следует обновлять состояние вашего GUI или его элементов. Как правило представляет собой поток извлекающий из очереди задачи для обновления или перерисовки интерфейса. Если вам надо обновить ваш GUI не из UI потока, то как в Swing так и в JavaFX есть методы, которые добавляют задачи по добавлению GUI в эту очередь.
Сделано так для того, что бы не занимать синхронизацией обращений к элементам интерфейса и не допустить параллельного выполнения операций над ним.

Answer 2

Добавлю к ответу @АлександрМартынцев

UI Thread это частный вид Event dispatching thread, который в свою очередь является частью концепции Event Driven Programming, разработанной, когда большинства юзеров SO еще не было даже в планах их родителей :) - это концепция была рождена в недрах компании IBM еще в 70-х годах и нашла свое отражение в первых оконных (или как сейчас модно говорить GUI) системах - типа Xerox Parc.

Любая GUI система имеет такой тред, в .NET и Java/Android это называется UI Thread, в других системах по другому, но смысл один и тот же

READ ALSO
Не могу наполнить MatrixCursor

Не могу наполнить MatrixCursor

Добрый вечер! Есть метод, который делает поисковый запрос на сервер и при помощи ответа наполняет MatrixCursor, который используется для вывода...

256
Bottom Navigation View Disabled states

Bottom Navigation View Disabled states

Дано: Bottom Navigation View при выборе элемента background выбранного элемента меняется

223
Перерисовка JPanel

Перерисовка JPanel

Добрый день! Возникла проблема

245