Курс 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. Объединение списков с использованием itertools.chain
  2. Метод append() для списка
  3. Удаление символов новой строки в Python.
  4. Работа с итераторами в Python
  5. Параллельные вычисления в Python
  6. Зарезервированные слова в Python
  7. Сортировка в Python
  8. Управление User-Agent в Python
  9. Декораторы в Python
  10. Метод lt для сортировки объектов
  11. Получение текущей даты и времени с помощью datetime
  12. Оператор assert в Python
  13. Получение текущей директории
  14. Создание циклической ссылки
  15. Разделение строки на пары ключ-значение.
  16. Работа с deque из collections
  17. Ключевое слово global в Python
  18. Комментарии в Python
  19. Многострочные комментарии в Python
  20. Итерация по копии коллекции
  21. Изменение списка срезом
  22. Работа с контекст-менеджером «with»
  23. Сериализация и десериализация объектов
  24. Solidity для DeFi Ethereum
  25. Разделение строки с регулярными выражениями
  26. Асинхронное программирование с asyncio
  27. Генераторы в Python
  28. Импорт объектов из модулей
  29. Работа с PosixPath() в Python
  30. Проверка наличия элемента в списке
  31. Создание списков в Python
  32. Работа с срезами в Python
  33. Возвращение нескольких значений
  34. Создание инструмента обнаружения плагиата
  35. EMOT преобразование эмодзи в текст
  36. Python Метод Union Множеств
  37. Сохранение Unicode в JSON
  38. Progress с библиотекой tqdm
  39. Функции any() и all() в Python
  40. Установка и использование pyshorteners
  41. Итерация по итерируемым объектам
  42. Проверка дубликатов в Python
  43. Тестирование функции сложения
  44. Измерение времени выполнения кода с помощью time
  45. Numpy: разбиение массивов
  46. Работа с очередями в Python
  47. Установка User-Agent в Python

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