Курс 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.
  2. Аргументы *args и **kwargs
  3. Комментарии в Python
  4. Генерация случайных чисел в Python
  5. Ветвление выражения в Python
  6. inspect в Python: анализ кода
  7. Делегирование в Python
  8. Копирование в Python
  9. Операции с комплексными числами
  10. Роль ключевого слова self
  11. Обработка ошибок в Python
  12. Цикл for с enumerate() в Python
  13. Форматирование вывода списков
  14. Библиотека itertools: объединение списков
  15. Создание и удаление объектов
  16. Многострочные комментарии в Python
  17. Хэш-функции в Python
  18. Обработка ошибок в Python
  19. Создание GUI с Tkinter: Entry
  20. Работа с CSV файлами в Python
  21. Python: возвращение нескольких значений
  22. Генераторы в Python
  23. Функция zip() для объединения списков
  24. Метод Enumerate() для списков
  25. Использование модуля math
  26. Работа с IP-адресами в Python
  27. Работа с файлами в Python
  28. Метод Event.wait() в Python
  29. Многострочные комментарии в Python
  30. Работа с массивами в Numpy
  31. Переопределение метода __lshift__
  32. Очистка данных с помощью pandas
  33. Глобальные переменные в Python
  34. Функция reduce() из модуля functools
  35. Работа с IP-адресами в Python
  36. Обмен значений переменных в Python
  37. Модуль functools в Python
  38. Переименование файлов в Python
  39. Расчет времени выполнения
  40. Многострочные комментарии в Python
  41. Создание и использование модулей в Python
  42. Метод __call__ в Python
  43. Работа с комплексными числами в Python

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