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