Главная » Статьи » Полезные материалы

Приложения с пользовательским интерфейсом. Программирование

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

Мобильные приложения с пользовательским интерфейсом, которые заказывают на appcraft, должны быть особенно аккуратны с использованием программных потоков. Главный поток такого приложения обычно называется потоком событий, так как он ожидает наступления определенных событий, чтобы приложение могло продолжить свою работу. В общем случае долгое время не давать такому программному потоку возможности обрабатывать события в программировании считается плохой практикой, так как это приводит к отсутствию реакции мобильные приложения на действия пользователя или - к зависанию компьютера. Чтобы данная проблема не возникла, для затратных по времени операций, особенно относящихся к доступу через сеть, создаются отдельные программные потоки. Эти пользовательские потоки часто передают данные обратно потоку событий, ставя события в очередь на обработку; это позволяет потоку событий получать данные, не останавливаясь для ожидания и не тратя впустую ресурсы на многократные опросы.

Мобильные приложения должны пользоваться механизмами синхронизации потоков для управления их взаимодействием с ресурсами общего доступа. Для этого применяются такие объекты, как мониторы и семафоры. Выбор в данном случае определяется тем, что именно поддерживают система и язык.

Монитором называется набор процедур, защищенный блокировкой взаимного исключения. Программный поток не может выполнять ни одну из входящих в монитор процедур, пока не получит контроль над блокировкой. Это означает, что внутри монитора в данный момент времени может выполняться только один программный поток; все остальные ждут, пока работающий поток перестанет контролировать блокировку. Поток в мониторе может приостанавливаться в ожидании определенного события, предоставляя другому потоку возможность входа в монитор. Если в какой-то момент приостановленный поток получает оповещение о событии, он пробуждается и при первой возможности возвращает себе контроль над блокировкой.

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


Категория: Полезные материалы | Добавил: Igor (09.06.2020)
Просмотров: 705 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]