Активный объект (ОС Symbian)
Платформа активных объектов — это обратного вызова на основе форма многозадачности для компьютерных систем. В частности, это форма совместной многозадачности , важная особенность операционной системы Symbian .
В рамках этой структуры активные объекты могут отправлять запросы асинхронных служб (например, отправлять SMS- сообщения). При выполнении асинхронного запроса управление немедленно возвращается вызывающему объекту (т.е. не дожидаясь завершения вызова). Вызывающий может выполнить другие действия, прежде чем он вернет управление обратно операционной системе, которая обычно планирует другие задачи или переводит компьютер в спящий режим. При выполнении запроса вызывающий объект включает ссылку на себя.
Когда асинхронная задача завершается, операционная система идентифицирует поток, содержащий запрашивающий активный объект, и пробуждает его. «Активный планировщик» в потоке идентифицирует объект, отправивший запрос, и передает управление обратно этому объекту.
Реализация активных объектов в Symbian основана на том, что каждый поток имеет « семафор запроса ». Оно увеличивается, когда поток выполняет асинхронный запрос, и уменьшается, когда запрос завершен. Когда невыполненных запросов нет, поток приостанавливается.
На практике в потоке может быть много активных объектов, каждый из которых выполняет свою задачу. Они могут взаимодействовать, запрашивая данные друг у друга и у активных объектов в других потоках. Они могут даже просить что-то у себя.
Это реализация очень старой идеи, которая была разработана для обработки программных сбоев в 70-х годах. Операционная система выступала в качестве первого объекта, а периферийное устройство — в качестве второго.