Курс 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. Логирование с Logzero
  4. Измерение времени выполнения кода
  5. Генераторы списков
  6. Пропуск строк в файле с itertools
  7. Работа с изменяемыми коллекциями
  8. Проверка типа данных
  9. Разделение строки на подстроки в Python
  10. Работа с необработанными строками
  11. Обезопасьте ввод данных
  12. Генерация ключей RSA
  13. Работа с изображениями Pillow
  14. Функция enumerate в Python
  15. Срезы в Python
  16. Установка максимального количества цифр
  17. Удаление дубликатов в pandas
  18. Форматирование строк в Python
  19. Фильтрация списка чисел
  20. Фильтрация входных данных в Python
  21. Оптимизация памяти с помощью __slots__
  22. Работа с Requests для HTTP-запросов
  23. Генераторы в Python
  24. Переопределение метода delitem в Python
  25. Изменение переменной в Python: nonlocal
  26. Функция findall() для поиска вхождений строки
  27. Динамическая типизация в Python
  28. Явный импорт переменных
  29. Создание словарей и множеств в Python
  30. Утечки переменных цикла в Python 3.x
  31. Метод join для объединения строк
  32. Цикл for с enumerate() в Python
  33. Обработка исключений в Python
  34. Форматирование строк в Python
  35. Работа с геоданными с помощью geopy
  36. Логические значения в Python
  37. Преобразование строки в число
  38. Тестирование времени с Freezegun
  39. Класс Counter() для подсчета элементов
  40. Создание матрицы в Python
  41. Метод bool() в Python
  42. Структуры данных в Python
  43. Регистрация на курсы SF Education
  44. Безопасные SQL-запросы в Python 3.11
  45. Проверка ввода с помощью isdigit
  46. Управление пакетами с pip
  47. Проверка существования переменной с оператором :=
  48. Defaultdict в Python
  49. Объединение списков в строку

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