Курс 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. Преобразование типов данных в set comprehension
  4. Блок try…finally в Python
  5. Модуль subprocess: запуск внешних команд
  6. Объединение строк с помощью метода join
  7. Комментарии в Python
  8. Срез в Python
  9. Расчет времени выполнения
  10. Генераторы в Python
  11. Определение локальных переменных в Python
  12. Перегрузка операторов в Python
  13. Генераторы в Python
  14. Копирование в Python
  15. Шаблоны Flask: условия и циклы
  16. Вывод баннеров
  17. Нахождение разницы между списками в Python
  18. Хешируемые ключи в Python
  19. Распаковка значений в Python
  20. Создание OrderedDict
  21. Создание инструмента обнаружения плагиата
  22. Создание словарей с defaultdict()
  23. Поиск шаблона в строке
  24. Метод gt в Python
  25. Подсказки типов в Python
  26. Метод ne для сравнения объектов
  27. IPython и Jupyter Notebook: руководство
  28. Метод __iand__ для пользовательских классов
  29. Модуль xkcd: добавление юмора в Python
  30. Замыкания в Python
  31. Работа с NumPy массивами
  32. Удаление элемента из списка в Python
  33. Конкатенация строковых литералов
  34. Операции с датами в Python
  35. Функция zip() — объединение последовательностей
  36. Сортировка и разворот списка
  37. Генераторы в Python
  38. Основы слова
  39. Получение имени функции с помощью inspect
  40. Методы работы со строками в Python
  41. Изменение списка срезом
  42. Обработка исключений с блоком else
  43. Инверсия списка/строки в Python
  44. Метод __irshift__ для побитового сдвига вправо

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