Курс 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. Получение идентификатора объекта в памяти
  5. Декоратор @override
  6. Преобразование типов данных в set comprehension
  7. Работа с географическими данными в Python
  8. Вложенные функции в Python
  9. Рекурсия для обращения строки
  10. Метод __ixor__ для побитового исключающего ИЛИ
  11. Установка и использование howdoi
  12. Оформление текста в консоли с TermColor
  13. Базовые объекты Python
  14. Поиск HTML-элементов с BeautifulSoup
  15. Метод radd для пользовательских чисел
  16. Извлечение аудио из видео
  17. Открытие, чтение и закрытие файла
  18. Гибкие функции Python
  19. Тернарный оператор в Python
  20. None в Python: использование и особенности
  21. Работа со строками в Python.
  22. Замена текста в Python
  23. Принципы Zen Python
  24. Отладчик pdb: начало работы
  25. Взаимодействие с sys
  26. Форматирование строк с помощью f-строк
  27. ChainMap избыточные ключи
  28. Преобразование чисел в восьмеричную строку
  29. Метод remove() для удаления элемента из списка
  30. Вывод с переменной через запятую
  31. Конвертация коллекций в Python
  32. Работа с множествами в Python
  33. Функция map() в Python
  34. Перевод двоичного кода в целое число
  35. Получение размера объекта с sys.getsizeof()
  36. Бинарный поиск
  37. Подсчет элементов в списке с Counter
  38. Создание namedtuple из словаря
  39. Взаимодействие с внешними процессами в Python
  40. Преобразование данных в Python
  41. Python union() функция — объединение множеств
  42. Управление контекстом выполнения
  43. Проверка индексов коллекции
  44. Получение имени функции с помощью inspect
  45. Печать комбинаций в Python с Itertools
  46. Работа с массивами в Numpy
  47. discard() — удаление элемента из множества
  48. Оператор «or» в Python
  49. Использование функции enumerate()

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