Русская Википедия:Асинхронное программирование

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Асинхронное программирование — концепция программирования, которая заключается в том, что результат выполнения функции доступен не сразу, а через некоторое время в виде некоторого асинхронного (нарушающего обычный порядок выполнения) вызова.

В отличие от синхронного программирования, где компьютер выполняет инструкции последовательно и ожидает завершения системных операций (обращение к устройствам ввода-вывода, жесткому диску, сетевой запрос) блокируя следующие операции в потоке выполнения, в асинхронном программировании длительные операции запускаются без ожидания их завершения и не блокируя дальнейшее выполнение программы[1][2].

Использование кода асинхронного программирования позволяет освободить поток выполнения, из которого он был запущен, что приводит к экономии ресурсов[2], а также предоставляет возможность параллельных вычислений. Асинхронное программирование используется для оптимизации высоконагруженных приложений с частым ожиданием системы[1]. Пользователям программ с графическим интерфейсом пользователя асинхронное программирование обеспечивает быстрый отклик[3]. Серверным приложениям асинхронное программирование предоставляет больше возможностей для масштабируемости, по сравнению с синхронным[3].

Модели асинхронного программирования существуют во многих современных языках программирования, таких как C#[4][5][3], JavaScript[6], ASP.NET[7][8], Python[9][10][11] и других.

Примечания

Шаблон:Примечания

Библиография

  1. 1,0 1,1 Шаблон:Статья
  2. 2,0 2,1 Шаблон:Книга
  3. 3,0 3,1 3,2 Шаблон:Книга
  4. Шаблон:Статья
  5. Дэвис А. Асинхронное программирование в C# 5.0 //М.: ДМК Пресс. — 2013.
  6. Шаблон:Статья
  7. Шаблон:Cite web
  8. Шаблон:Статья
  9. Шаблон:Статья
  10. Шаблон:Статья
  11. Толстикова А. В., Мирошниченко И. С., Коцюр А. Б. Эффективность использования программирования асинхронных приложений на языке Python //Проблемі інформатизації та управління. — 2016. — Т. 1. — №. 53. — С. 72-77.