Курс Python → Асинхронное программирование с asyncio

Асинхронное программирование — это подход, который позволяет выполнять несколько задач одновременно, не блокируя основной поток выполнения. В Python для реализации асинхронности используется модуль asyncio, который позволяет создавать асинхронные функции и использовать ключевые слова async/await.

Для создания асинхронной функции необходимо использовать ключевое слово async перед определением функции. Внутри асинхронной функции можно использовать ключевое слово await для ожидания выполнения другой асинхронной операции. Это позволяет эффективно использовать ресурсы процессора и не блокировать выполнение других задач.


import asyncio

async def my_task():
    await asyncio.sleep(1)
    print("Task completed")

async def main():
    task1 = asyncio.create_task(my_task())
    task2 = asyncio.create_task(my_task())

    await task1
    await task2

asyncio.run(main())

В данном примере создается две асинхронные задачи my_task(), которые выполняются параллельно. Функция main() запускает эти задачи с помощью asyncio.create_task() и ожидает их завершения с помощью ключевого слова await. Таким образом, задачи выполняются одновременно.

Важно помнить, что асинхронное программирование не всегда делает код быстрее, но может повысить его эффективность за счет параллельного выполнения задач. При этом необходимо правильно управлять асинхронными функциями и избегать блокировок, чтобы избежать проблем с синхронизацией данных.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Поиск подстроки в строке
  2. CLI-инструмент howdoi
  3. Нахождение хеша для бесконечности и NaN в Python
  4. Работа с YAML в Python
  5. Создание файла с проверкой ошибки
  6. Форматирование строк в Python
  7. Создание новых списков
  8. Конкатенация строк с join() в Python
  9. Метод splitlines() для разделения строк
  10. Метод remove() для удаления элемента из списка
  11. Таймер обратного отсчета
  12. Модуль math: основные функции
  13. Функции с дополнением
  14. Итераторы с потерямиZIP
  15. Установка переменной среды в Python
  16. Метод classmethod
  17. Работа с утверждениями в Python
  18. Сортировка данных с лямбда-функциями
  19. Преобразование числа в восьмеричную строку
  20. Метод сравнения объектов в Python
  21. Работа с классами данных
  22. Создание именованных кортежей в Python
  23. Применение функции map() с лямбда-функциями
  24. Создание тестовых данных с Faker
  25. Управление IP-адресами через прокси
  26. Работа с датами в Python
  27. Определение объема памяти объекта
  28. Добавление элементов в список: append() vs extend()
  29. Запуск асинхронной корутины
  30. Метод join() для объединения элементов строки
  31. Логирование с Loguru
  32. Форматирование объектов с модулем pprint
  33. Деление в Python
  34. Утечки переменных цикла в Python 3.x
  35. Поиск частого элемента
  36. Работа со строками в Python
  37. Библиотека Rich: форматирование текста
  38. Работа с изменяемыми коллекциями
  39. Генераторы списков в Python
  40. Экспорт данных с помощью writefile
  41. Перевернуть список в Python
  42. Назначение максимального и минимального значения переменной в Python.
  43. Циклы в Python
  44. Работа с атрибутом dict
  45. Вывод букв строки в Python
  46. Запуск внешнего кода в Jupyter
  47. Метод getitem для доступа к элементам последовательности

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