Курс 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. Генераторы в Python
  3. Подписка на SelectelNews в Twitter
  4. Замыкания в Python
  5. Область видимости переменных
  6. HTTP-запросы с библиотекой Requests
  7. Библиотека sh: удобные команды терминала
  8. Карта бомбоубежищ в Москве и Питере
  9. Транспонирование 2D-массива с помощью zip
  10. Создание инструмента обнаружения плагиата
  11. Сортировка HTML по CSS-селектору
  12. Возведение в квадрат с помощью itertools
  13. Декоратор Ajax required
  14. Комментарии в Python
  15. Получение имени функции с помощью inspect
  16. Взаимодействие с sys
  17. Удаление элемента из списка в Python
  18. Игра «Камень, ножницы, бумага» — Python
  19. Анонимные функции Lambda
  20. Проверка надежности пароля на Python
  21. Работа с очередями в Python
  22. Работа с Event() в threading
  23. Операторы увеличения и уменьшения переменной
  24. Итерации в Python
  25. Функция с **kwargs в Python
  26. Конкатенация строковых литералов
  27. Поиск шаблона в начале строки
  28. Работа с географическими данными.
  29. Проверка однородности элементов списка
  30. Numpy: объединение массивов
  31. Создание виртуальной среды
  32. Подписка на каналы разработчиков
  33. Избегайте использования goto
  34. Структурирование именованных констант
  35. Инициализация структур данных
  36. Срезы в Numpy
  37. Константы в модуле cmath
  38. Новшества Flask 2.0
  39. Аннотации типов в Python
  40. Типы возвращаемых значений в Python
  41. Ключевое слово global в Python
  42. Функция eval() в Python
  43. Объединение Python и Shell
  44. Разделение строки на пары ключ-значение.
  45. Встраивание HTML в Jupyter Notebook
  46. Итерация по копии коллекции
  47. Таймер обратного отсчета
  48. Лимиты на ресурсы Python

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