Курс 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. Измерение времени выполнения кода
  2. Измерение времени выполнения кода с использованием time
  3. Работа с итераторами в Python
  4. Логирование с Loguru
  5. Список переменных в Python
  6. Работа с YAML в Python: PyYAML.
  7. Утечки переменных цикла в Python 3.x
  8. Многопоточность и асинхронное программирование в Python
  9. Гибкие функции Python
  10. TON Smart Challenge #2: участие и подготовка
  11. Генераторы в Python
  12. Объединение словарей в Python
  13. Работа с *args и **kwargs в Python
  14. Бинарный поиск
  15. Декораторы в Python
  16. Роль ключевого слова self
  17. Передача неизвестных аргументов в Python.
  18. Работа с эмодзи в Python
  19. Оператор (*) в Python
  20. Работа с контекстными переменными
  21. Непрерывная проверка в Python
  22. Python Ellipsis использование
  23. Разделение строк в Python
  24. Оформление кода по PEP 8
  25. Проверка дубликатов в Python
  26. Генератор чисел Фибоначчи
  27. Работа с географическими данными.
  28. Управление контекстом с помощью декоратора contextmanager
  29. Преобразование чисел в слова
  30. Открытие, чтение и закрытие файла
  31. Перевод эмодзи и эмотиконов.
  32. Псевдонимы в Python
  33. Flask: создание веб-приложений
  34. Цикл for в Python
  35. Копирование словарей и списков в Python
  36. Очистка списка от False, None, 0, «»
  37. Функции map, filter и reduce
  38. Класс Counter() для подсчета элементов
  39. Сортировка списка по индексам
  40. Функция all() в Python
  41. Функции в Python: создание и вызов
  42. Поток данных в Python
  43. Подчеркивание в REPL
  44. Метод remove() для удаления элемента из списка
  45. Правила именования переменных

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