Курс 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. Python Translator: создание локальных переводчиков
  2. Функция zip() в Python
  3. Методы classmethod и staticmethod
  4. Избегайте использования goto
  5. Функция reduce() в Python
  6. Нахождение отличий в списках
  7. Работа с collections в Python
  8. Очистка данных в Python
  9. Переопределение оператора % для объектов
  10. Создание вложенного генератора
  11. Генерация QR-кодов с Python
  12. Методы и функции в Python
  13. Лямбда-функции в цикле
  14. Атрибуты класса и экземпляра
  15. Искажение имен в Python
  16. Docstring в Python
  17. Округление чисел с помощью round
  18. Проверка кортежей.
  19. Переворот списка в Python
  20. Создание новых списков в Python
  21. Функция enumerate() в Python
  22. Работа со строками в Python.
  23. Работа с timedelta
  24. Методы Python для работы с данными
  25. Установка библиотек в Python
  26. Нан-рефлексивность в Python
  27. Замена символов в строке
  28. Условные выражения в Python
  29. Расчет времени выполнения программы
  30. Работа с PosixPath() в Python
  31. Генераторы в Python
  32. Удаление элемента из списка
  33. Карта бомбоубежищ в Москве и Питере
  34. Метод join для наборов
  35. Мониторинг памяти с Pympler
  36. Работа с контекстными менеджерами
  37. Замена переменных в Python
  38. Метод get для словарей
  39. Генераторы и сеты в Python
  40. Множественное присваивание в Python
  41. Замер времени выполнения кода
  42. Генератор надежных паролей
  43. Проверка существования переменной с оператором :=
  44. Работа с часовыми поясами в Python.
  45. Работа с NumPy массивами
  46. Оптимизация создания строк

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