Курс 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. Методы split() и join() — Python строк.
  3. Определение основы слова с showballstemmer
  4. Изменения в обработке логических значений
  5. Работа с GitHub в Telegram
  6. Выражения-генераторы в Python
  7. Выражения-генераторы в Python
  8. Отладка утечек памяти в Python
  9. Удаление ресурса в Python
  10. Обработка ошибок в Python
  11. Метаклассы в Python
  12. Создание генераторов
  13. Однострочники Python
  14. Обмен значений переменных в Python
  15. Генерация чисел с range()
  16. Метод __irshift__ для побитового сдвига вправо
  17. Python: возвращение нескольких значений
  18. Объединение множеств в Python
  19. Руководство по Pymorphy2
  20. Работа со строками в Python
  21. Управление контекстом выполнения
  22. Генератор списка с условием if
  23. Python UserString — создание подклассов строк
  24. Namedtuple в Python
  25. Присвоение и ссылки
  26. Оболочка Python
  27. Скрытие вывода данных
  28. Структура данных deque в Python
  29. Транспонирование 2D-массива с помощью zip
  30. Объединение строк с помощью метода join
  31. Ввод нескольких значений
  32. Мониторинг памяти с Pympler
  33. Модуль pprint: улучшение вывода данных
  34. Работа с Colorama
  35. Функции в одну строку
  36. Создание уникального множества
  37. Методы обработки строк в Python
  38. Проверка на истинность объектов в Python
  39. Метод сравнения объектов в Python
  40. Регистрация на хакатоне
  41. Оператор «моржа» (Walrus Operator)
  42. Оператор Walrus в Python 3.8
  43. Зарезервированные слова в Python
  44. Аннотации типов в Python
  45. Проверка кортежей.

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