Курс 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. Циклы for в Python
  2. Функции в одну строку
  3. Сохранение и загрузка модели в PyTorch
  4. Работа со словарями с defaultdict из collections
  5. Python 3.12: Псевдонимы типов
  6. Декораторы с аргументами
  7. Методы __repr__ и __str__ в Python
  8. Определение объема памяти объекта
  9. Метаклассы в Python
  10. Удаление файлов и папок в Python
  11. Создание матрицы в Python
  12. Работа с функцией next() в Python
  13. IPython и Jupyter Notebook: руководство
  14. Работа с множествами в Python
  15. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  16. Применение промокода в Много лосося
  17. SciPy: широкий функционал для математических операций
  18. Метод init в Python
  19. Подсчет количества элементов в списке
  20. Декораторы в Python
  21. Установка и использование библиотеки google
  22. Работа с CSV файлами в Python
  23. Возврат нескольких значений
  24. Объединение словарей в Python
  25. Списки в Python: основы
  26. Открытие и редактирование скриптов Python
  27. Именованные срезы в Python
  28. Создание веб-приложения с Flask
  29. Генерация резюме в Gensim
  30. Копирование списков в Python
  31. Область видимости переменных
  32. Работа с пакетами
  33. Генератор списка с условием if
  34. Модуль inspect
  35. Сортировка в Python
  36. Оператор распаковки в Python
  37. Фильтрация входных данных в Python
  38. Упрощение условных выражений с тернарным оператором
  39. Работа с SQLite в Python
  40. Запрос пароля с помощью getpass
  41. Принципы LSP и ISP в Python
  42. Объединение списков в строку
  43. Непрерывная проверка в Python
  44. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  45. Преобразование регистра символов

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