Асинхронное программирование

Из Википедии, бесплатной энциклопедии

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

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

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

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

Примечания[править | править код]

  1. 1 2 Татьяна Валерьевна Любимова. Асинхронность В Программировании // Университетская Наука. — 2019. — Вып. 2 (8). — ISSN 2500-2724.
  2. 1 2 Алекс Дэвис. Асинхронное программирование в C# 5.0. — Litres, 2022-01-12. — 122 с. — ISBN 978-5-457-42681-8. Архивировано 18 января 2022 года.
  3. 1 2 3 Клири Стивен. Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.. — "Издательский дом ""Питер""", 2020-03-04. — 304 с. — ISBN 978-5-4461-1572-3. Архивировано 18 января 2022 года.
  4. Сергей Владимирович Тепляков. Асинхронное программирование в C# 5 // Rsdn Magazine. — 2010. — Вып. 4. — ISSN 0234-6621.
  5. Дэвис А. Асинхронное программирование в C# 5.0 //М.: ДМК Пресс. — 2013.
  6. С. А. Сидоров. АСИНХРОННОЕ ПРОГРАММИРОВАНИЕ В JavaScript. — 2019. — С. 272–275.
  7. Сорокин А. А., Белянина Д. Н. АСИНХРОННОЕ ПРОГРАММИРОВАНИЕ В ASP .NET MVC 4 //Лебедева Надежда Анатольевна—д-р философии в области культу. — С. 20. Дата обращения: 16 января 2022. Архивировано 7 марта 2022 года.
  8. Д. Н. Курова. Асинхронная обработка запросов в ASP.NET // Вестник Димитровградского Инженерно-Технологического Института. — 2015. — Вып. 3 (8).
  9. Савостин Петр Алексеевич, Ефремова Наталья Эрнестовна. Практическое применение асинхронного программирования на языке Python при помощи пакета asyncio // Программные системы и вычислительные методы. — 2018. — Вып. 2. — С. 11–16. Архивировано 18 января 2022 года.
  10. Елена Васильевна Фешина, Дмитрий Александрович Омельченко, Руслан Геннадьевич Гонатаев. Многопоточность и асинхронность в языке программирования Python // Инновации. Наука. Образование. — 2021. — Вып. 28.
  11. Толстикова А. В., Мирошниченко И. С., Коцюр А. Б. Эффективность использования программирования асинхронных приложений на языке Python //Проблемі інформатизації та управління. — 2016. — Т. 1. — №. 53. — С. 72-77.

Библиография[править | править код]