Главная » Статьи » Полезные материалы |
Приложения с пользовательским интерфейсом. Программирование
Системный программный поток создается и управляется системой. Пользовательские программные потоки создаются приложением и предназначены для решения задач, которые не могут или не должны решаться главным потоком. Мобильные приложения с пользовательским интерфейсом, которые заказывают на appcraft, должны быть особенно аккуратны с использованием программных потоков. Главный поток такого приложения обычно называется потоком событий, так как он ожидает наступления определенных событий, чтобы приложение могло продолжить свою работу. В общем случае долгое время не давать такому программному потоку возможности обрабатывать события в программировании считается плохой практикой, так как это приводит к отсутствию реакции мобильные приложения на действия пользователя или - к зависанию компьютера. Чтобы данная проблема не возникла, для затратных по времени операций, особенно относящихся к доступу через сеть, создаются отдельные программные потоки. Эти пользовательские потоки часто передают данные обратно потоку событий, ставя события в очередь на обработку; это позволяет потоку событий получать данные, не останавливаясь для ожидания и не тратя впустую ресурсы на многократные опросы. Мобильные приложения должны пользоваться механизмами синхронизации потоков для управления их взаимодействием с ресурсами общего доступа. Для этого применяются такие объекты, как мониторы и семафоры. Выбор в данном случае определяется тем, что именно поддерживают система и язык. Монитором называется набор процедур, защищенный блокировкой взаимного исключения. Программный поток не может выполнять ни одну из входящих в монитор процедур, пока не получит контроль над блокировкой. Это означает, что внутри монитора в данный момент времени может выполняться только один программный поток; все остальные ждут, пока работающий поток перестанет контролировать блокировку. Поток в мониторе может приостанавливаться в ожидании определенного события, предоставляя другому потоку возможность входа в монитор. Если в какой-то момент приостановленный поток получает оповещение о событии, он пробуждается и при первой возможности возвращает себе контроль над блокировкой. Семафор представляет собой более простую конструкцию - он лишь обеспечивает блокировку общего ресурса. Этот наиболее базовый вид семафора называется семафором взаимного исключения, или мьютекса. Существуют и другие разновидности семафоров, например, семафоры со счетчиком, обеспечивающие одновременный доступ к ресурсу и потокам; семафоры событий, уведомляющие один или несколько ожидающих потоков о наступлении некоего события. | |
Просмотров: 837 | |
Всего комментариев: 0 | |