Курс 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. Функция divmod() в Python
  2. Итерация по итерируемым объектам
  3. Глобальные переменные в Python
  4. Основы Python за 14 дней
  5. Генераторы в Python
  6. Класс Counter() для подсчета элементов
  7. Динамические маршруты во Flask
  8. Подсчет элементов с помощью Counter из collections
  9. Функция enumerate в Python
  10. Объединение строк с помощью метода join
  11. Подсказки типов в Python
  12. Переопределение метода delitem в Python
  13. Метод clear для коллекций
  14. Преобразование строки в число
  15. Присвоение и ссылки
  16. Создание виртуальной среды
  17. Работа с каталогами в Python
  18. Создание графиков в терминале
  19. Оператор walrus в Python
  20. Лямбда-функции в Python
  21. Аннотации типов в Python
  22. Раздувающийся словарь в Python
  23. Приоритет операций в Python
  24. Управление User-Agent в Python
  25. Многоточие в Python
  26. Работа с f-строками 2.0
  27. Блок else в Python
  28. Сериализация объектов в Python
  29. Python enumerate() для работы с индексами
  30. Работа с атрибутом dict
  31. Преобразование чисел в восьмеричную строку
  32. Передача неизвестных аргументов в Python.
  33. Работа с словарями в Python
  34. Создание класса в Python
  35. Enum в Python: создание и использование перечислений
  36. Поиск уникальных и повторяющихся элементов
  37. Оператор in и not in в Python
  38. Преобразование списка в словарь через генератор
  39. Работа с файлами в Python
  40. Разделение строки с помощью re.split()
  41. Создание детектора плагиата
  42. Модуль itertools: комбинации и перестановки
  43. Управление контекстом с помощью декоратора contextmanager
  44. Визуализация пропусков данных
  45. Курс по дообучению ChatGPT
  46. Метод __iand__ для пользовательских классов
  47. Построение графиков в терминале с bashplotlib
  48. Управление сессиями в Python

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