stringtranslate.com

Асинхронность (компьютерное программирование)

Асинхронность в программировании компьютеров относится к возникновению событий, независимых от основного потока программы , и способам обработки таких событий. Это могут быть «внешние» события, такие как поступление сигналов или действия, инициированные программой, которые происходят одновременно с выполнением программы, без зависания программы в ожидании результатов. [1] Асинхронный ввод/вывод является примером последнего случая асинхронности и позволяет программам выдавать команды устройствам хранения или сетевым устройствам, которые обслуживают эти запросы, в то время как процессор продолжает выполнять программу. Это обеспечивает определенную степень параллелизма . [1]

Обычный способ борьбы с асинхронностью в программном интерфейсе — предоставить подпрограммы , которые возвращают future или promise , представляющие текущую операцию, и синхронизирующую операцию, которая блокирует , пока future или promise не будет завершен. Некоторые языки программирования, такие как Cilk , имеют специальный синтаксис для выражения асинхронного вызова процедуры. [2]

Примеры асинхронности включают в себя следующее:

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

Ссылки

  1. ^ ab Davies, Alex (2012). Async в C# 5.0. O'Reilly. стр. 1–2. ISBN 9781449337124.
  2. ^ МакКул, Майкл; Рейндерс, Джеймс; Робинсон, Арч (2013). Структурированное параллельное программирование: шаблоны для эффективных вычислений . Elsevier. стр. 30.
  3. ^ Использование ICE AMD.