Железнодорожные билеты

22.06.2016

Ш-поток создаётся при запуске приложения и продолжает существовать на протяжении всего жизненного цикла соответствующего процесса Linux. Ш-иоток является главным потоком приложения, используемым для выполнения компонентов Android и обновления элементов пользовательского интерфейса на экране. Если платформа обнаружит попытки обновления пользовательского интерфейса из какого-либо другого потока, она тут же оповестит об этом приложение посредством исключения CalledFromWrongThreadException. Столь жёсткие действия платформы требуются потому, что сам инструментальный комплект Android Ш Toolkit не обеспечивает безопасности потоков, и по этой причине среда выполнения разрешает доступ к элементам пользовательского интерфейса только из одного потока.

Элементы пользовательского интерфейса в ОС Android часто определяются как поля экземпляра компонента Activity, то есть являются частью состояния объекта. Тем не менее доступ к ним не требует синхронизации, поскольку элементы пользовательского интерфейса доступны только из Ul-потока. Другими словами, среда выполнения принудительно создает однопоточное окружение для элементов пользовательского интерфейса, ограждая их от сложностей параллельного выполнения. Собрались в отпуск? Не забудьте купить железнодорожные билеты.

UI-поток представляет собой поток последовательной обработки событий, генерируемых другими потоками платформы. События обрабатываются последовательно и помещаются в специальную очередь, если U 1-поток занят обработкой предыдущего события. В UI- поток могут передаваться любые события, но если они не требуют явно немедленной обработки, то даже важные события пользовательского интерфейса могут ждать своей обработки в очереди, хотя при этом не должна ухудшаться отзывчивость приложения в целом.