stringtranslate.com

Асинхронный вызов процедуры

Асинхронный вызов процедуры (APC) — это единица работы на компьютере.

Определение

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

Например, если некоторые данные не готовы (например, программа ждет ответа пользователя), то остановка другой активности в потоке обходится дорого, поток потребляет память и, возможно, другие ресурсы.

Состав

APC обычно формируется как объект с небольшим объемом памяти, и этот объект передается службе, которая обрабатывает интервал ожидания, активируя его при возникновении соответствующего события (например, пользовательского ввода).

Жизненный цикл APC состоит из 2 стадий: пассивной стадии, когда она пассивно ожидает входных данных, и активного состояния, когда эти данные вычисляются так же, как при обычном вызове процедуры.

Многоразовая асинхронная процедура называется Actor . В модели Actor используются два порта: один для приема входных данных, а другой (скрытый) для обработки входных данных. В программировании потоков данных используется множество портов, которые передаются в службу выполнения, когда присутствуют все входные данные.

Реализации

В Windows APC — это функция, которая выполняется асинхронно в контексте определенного потока. [1] APC могут генерироваться системой (APC в режиме ядра) или приложением (APC в пользовательском режиме). [1]

Смотрите также

Рекомендации

  1. ^ ab «Асинхронные вызовы процедур (Windows)» . Проверено 1 марта 2017 г.