Курс 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. PATCH-запрос с библиотекой requests
  4. Метод join для наборов
  5. Объединение строк с помощью метода join
  6. Измерение времени выполнения кода с использованием time
  7. Логический оператор «and» в Python
  8. Мониторинг работы программы Py-spy
  9. Создание таблиц в терминале с PrettyTable
  10. Измерение времени выполнения кода
  11. Автоматизация с Python
  12. Делегирование в Python
  13. Срез в Python
  14. Определение индекса элемента списка
  15. Избегание изменяемых аргументов
  16. Идентификатор объекта в Python
  17. Справка по импортированным модулям
  18. Codecademy в Telegram
  19. Функции высшего порядка в Python
  20. Библиотека Chartify: руководство
  21. Работа с f-строками 2.0
  22. Форматирование строк в Python
  23. Однострочники Python
  24. Генератор бросков кубиков
  25. Обновление ключей в Python
  26. Создание вложенных циклов for
  27. Оператор in и not in в Python
  28. Python: динамическая типизация и проверка типов
  29. Вычисление фазы комплексного числа
  30. Активация Matplotlib в Jupyter
  31. Методы обработки строк в Python
  32. Генераторы в Python
  33. Обработка ошибок в Python
  34. Функция format() в Python
  35. Определение размера папок в Python
  36. Оптимизация гиперпараметров в Python
  37. Многострочные строки в Python
  38. Python reversed() vs срез[::-1]
  39. Преобразование Excel в PDF с Spire.XLS
  40. Метод is_absolute() для PurePath
  41. Логирование с Logzero
  42. Оператор continue в Python
  43. Декораторы в Python
  44. Переопределение метода delitem в Python
  45. Форматирование вывода с F-строками
  46. Разбиение строки в Python

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