Курс 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. Работа с getopt
  2. Python Translator: создание локальных переводчиков
  3. Работа с асинхронными задачами в Python
  4. Поиск шаблона в начале строки
  5. Лямбда-функции в Python
  6. Экспорт внешнего файла с помощью writefile
  7. Mad Libs Generator
  8. Замена атрибута в именованном кортеже
  9. Определение относительного пути
  10. Работа с классами данных
  11. Python Аргументы по умолчанию
  12. Улучшение читаемости кода в Python
  13. Использование html-скриптов в Jupyter Notebook
  14. Удаление файлов и папок в Python
  15. Многострочные строки в Python
  16. Утечки переменных цикла в Python 3.x
  17. Метод rpow в Python
  18. Удаление URL-адресов в Python
  19. Отрицательные индексы списков в Python
  20. Распаковка элементов массива
  21. Логирование с Loguru
  22. Подсчет частотности элементов в Python
  23. Работа с коллекциями Python
  24. Установка и использование Telegram API в Python
  25. Объединение итераторов
  26. Сложение матриц в NumPy
  27. Зарезервированные слова в Python
  28. Объединение словарей в Python
  29. Выборка чисел
  30. Создание даты из строки ISO
  31. Декодирование строк в Python
  32. Установка и использование модуля Wikipedia
  33. Методы работы со списками
  34. Применение функций в Python
  35. Цикл for в Python
  36. Метод add для класса Vector
  37. Перебор элементов списка в Python
  38. Новшества Flask 2.0
  39. Доступ к локальным переменным
  40. Переопределение метода __and__
  41. Различия символов в Python
  42. Обновление данных через PUT запрос
  43. Непрерывная проверка в Python
  44. Таймер обратного отсчета

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