Курс Python → Асинхронное программирование с asyncio

Модуль asyncio в Python предоставляет возможность создания асинхронных программ, что позволяет выполнять несколько задач параллельно и эффективно управлять асинхронными операциями. Одним из ключевых элементов asyncio является использование корутин (coroutines), которые позволяют создавать асинхронные функции и выполнять асинхронные операции.

Для начала работы с asyncio, необходимо определить асинхронные корутины. В нашем примере мы создаем корутину под названием my_coroutine, которая выполняет асинхронную операцию — в данном случае, ожидание 1 секунды. Корутины позволяют нам выполнять задачи асинхронно, не блокируя основной поток выполнения программы.


import asyncio

async def my_coroutine():
    await asyncio.sleep(1)
    print("Async operation completed")

Далее мы определяем асинхронную функцию main, которая вызывает две корутины одновременно с помощью функции asyncio.gather. Это позволяет нам запустить несколько асинхронных операций параллельно и дождаться их завершения. В данном случае, main вызывает my_coroutine дважды, и обе операции выполняются одновременно.


async def main():
    await asyncio.gather(my_coroutine(), my_coroutine())

Наконец, для запуска основной функции main мы используем функцию asyncio.run. Она запускает асинхронную программу и ожидает ее завершения. Таким образом, мы можем эффективно управлять асинхронными операциями и выполнять параллельные задачи с помощью модуля asyncio в Python.


if __name__ == "__main__":
    asyncio.run(main())
Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Функция format() в Python
  2. Генераторы словарей и множеств
  3. Операции с массивами в NumPy
  4. Отображение графиков в Jupyter с Matplotlib
  5. Форматирование даты с strftime()
  6. Использование type hints
  7. Область видимости переменных
  8. Список переменных в Python
  9. Возврат нескольких значений
  10. Вычисление натуральных логарифмов в NumPy
  11. Методы split() и join() — Python строк.
  12. Методы Python для работы с данными
  13. Условные выражения в Python
  14. F-строки в Python 3.8
  15. Замена символов в Python
  16. Генерация случайных чисел в Python
  17. Разность множеств
  18. Создание таблиц в терминале с PrettyTable
  19. Метод hash в Python
  20. Python enumerate() использование
  21. Печать календаря
  22. Установка пакета в Python
  23. Частичное совпадение ввода
  24. Метод init в Python
  25. Функция zip() в Python
  26. Подсчет вхождений элементов
  27. Управление контекстом выполнения
  28. Метод __float__ в Python
  29. Форматирование строк с % в Python
  30. Обработка ошибок ввода данных
  31. Работа с геоданными с помощью geopy
  32. Обновление шаблона base.html
  33. Работа с кортежами в Python
  34. Оформление кода по PEP 8
  35. Добавление элементов в список: append() vs extend()
  36. Итераторы в Python
  37. Создание новых списков
  38. Форматирование строк в Python
  39. Установка Home Assistant
  40. Установка максимального количества цифр
  41. Передача неизвестных аргументов в Python.
  42. Отображение HTML кода в Python

Marketello читают маркетологи из крутых компаний