Курс 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. Генераторы в Python
  3. Инициализация переменных
  4. Отправка POST запроса на сервер.
  5. Mad Libs Generator
  6. Оператор Walrus: правильное использование
  7. Названия столбцов в Python таблицах
  8. Чтение бинарного файла в Python.
  9. Хранение данных с помощью dataclasses
  10. Python: Фильтрация списков с помощью filter()
  11. Справка по импортированным модулям
  12. Работа с прокси в Python
  13. Переименование файлов в Python
  14. Сравнение строк в Python
  15. Асинхронное выполнение задач в Python
  16. Цикл for в Python
  17. Разбиение строки в Python
  18. Добавление элементов в список: append() vs extend()
  19. Создание списка дат
  20. Удаление дубликатов из списка с помощью dict.fromkeys
  21. Возведение в квадрат с помощью itertools
  22. Объединение строк с помощью метода join
  23. Проверка существования переменной с оператором :=
  24. Удаление элемента из списка в Python
  25. Функция reduce() из модуля functools
  26. Декораторы в Python
  27. Сортировка в Python
  28. Принципы программирования
  29. Подсчет элементов с помощью Counter из collections
  30. Оператор continue в Python
  31. *args и **kwargs в Python
  32. Создание уникального множества
  33. Сортировка HTML по CSS-селектору
  34. Генерация тестовых данных с factory_boy
  35. Python enumerate() использование
  36. Явный импорт переменных
  37. Установка и использование howdoi
  38. Введение в PyTorch
  39. Создание namedtuple из словаря
  40. Измерение времени выполнения кода
  41. PEP-401: оператор
  42. Сортировка с помощью параметра key
  43. Оператор += для объединения строк
  44. Оператор in для проверки наличия элемента
  45. Инверсия списка и строки в Python
  46. Построение графиков в терминале с bashplotlib

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