Курс 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. Создание пустых функций и классов в Python
  3. Запуск внешних программ с subprocess
  4. Методы работы со списками
  5. PrettyTable: создание таблицы
  6. Команда %dhist — список посещенных каталогов
  7. Операторы увеличения и уменьшения в Python
  8. Измерение времени выполнения кода в Python
  9. Установка виртуального окружения Python
  10. Декоратор Ajax required
  11. Создание .exe файла с pyinstaller
  12. Операции с датами в Python
  13. Работа с исключениями в Python
  14. Реверс строки в Python
  15. Оптимизация памяти с slots
  16. Работа с GitHub в Telegram
  17. Отображение HTML кода в Python
  18. Перетасовка списков в Python
  19. Тестирование функции сложения
  20. Конкатенация строк в Python
  21. Именованные срезы в Python
  22. Объединение словарей в Python
  23. Управление импортом в Python
  24. Документация функции help() в Python
  25. Анализ текста на русском языке с помощью Pymystem3
  26. Вычисление разности множеств в Python
  27. Возвращение нескольких значений через кортеж или класс
  28. Управление сессиями в Python
  29. Инверсия списков и строк в Python
  30. Итераторы в Python
  31. Метод repr() в Python
  32. Встроенные функции Python
  33. Bootle — простой веб-фреймворк
  34. Лямбда-функции в Python
  35. Стать Python-разработчиком
  36. Monkey Patching в Python
  37. Оператор Walrus в Python 3.8
  38. Оценка выражений генератора в Python
  39. Форматирование вывода с F-строками
  40. Создание новых списков в Python
  41. Генераторы в Python
  42. Работа с атрибутом dict
  43. Поиск наиболее частого элемента списке
  44. Оптимизация гиперпараметров с Scikit Optimize
  45. Генераторы в Python
  46. Генераторы в Python
  47. Улучшение читаемости кода в Python
  48. Получение частей дроби
  49. Транспонирование 2D-массива с помощью zip

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