Курс 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. Модуль xkcd: загрузка комиксов
  2. Создание словарей и множеств в Python
  3. Работа с Path в Python
  4. Склеивание строк без циклов
  5. Оператор += в Python
  6. Метод Event.wait() в Python
  7. Измерение времени выполнения кода
  8. Метод __iand__ для пользовательских классов
  9. Генераторы в Python
  10. Типы возвращаемых значений в Python
  11. Списки в Python: основы
  12. Работа с zip-архивами в Python
  13. Метод ipow для возведения в степень
  14. Работа с файлами и директориями в Python.
  15. Структура данных deque в Python
  16. Избегайте двойного подчеркивания
  17. Проектирование Singleton с метаклассом
  18. globals и locals
  19. Создание и использование модулей в Python
  20. Имена объектов в Python
  21. Метод ior для битовых операций
  22. split() — разделение строки
  23. Defaultdict в Python
  24. Функция all() в Python
  25. Управление ресурсами с контекстными менеджерами
  26. Декораторы в Python
  27. Основы работы с os
  28. Объединение коллекций в Python
  29. Стать Python-разработчиком
  30. Подсчет часто встречающихся элементов
  31. Создание и удаление объектов
  32. Основные операции с библиотекой Numpy
  33. %pinfo: получение информации об объекте
  34. Оператор «or» в Python
  35. Работа с классами данных
  36. Метод classmethod
  37. Хеширование паролей с солью
  38. Создание веб-приложения с Flask
  39. Конкатенация строк с методом join()
  40. Документирование функций в Python
  41. Хеши в Python
  42. Метод bool() в Python
  43. Управление пакетами с pip
  44. Асинхронное программирование с asyncio
  45. Создание виртуальной среды
  46. Отношения подклассов в Python
  47. Создание виртуальной среды

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