Курс 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. Работа с коллекциями Python
  2. Очистка списка от False, None, 0, «»
  3. Удаление ссылок в Python
  4. Enum в Python
  5. Создание коллекций из выражения-генератора
  6. Хеширование паролей с использованием salt
  7. Исправление ошибки NameError
  8. List Comprehension Tutorial
  9. Функции с дополнением
  10. Отладка кода
  11. Ошибка NotImplemented в Python
  12. Проверка списка: any() и all()
  13. Безопасные SQL-запросы в Python 3.11
  14. Вычисление фазы комплексного числа
  15. Удаление файлов и папок в Python
  16. Функция enumerate в Python
  17. Подробная информация о %pinfo
  18. Хэш-функции в Python
  19. Конкатенация строк в Python
  20. Объединение словарей в Python 3.5+
  21. Удаление ключа из словаря в Python
  22. Различия символов в Python
  23. Преобразование числа в восьмеричную строку
  24. Протокол управления контекстом
  25. Аннотации типов в Python
  26. Функции all() и any() в Python
  27. Сортировка с помощью параметра key
  28. Активация Matplotlib в Jupyter
  29. Статическая типизация в Python
  30. Работа с файлами в Python
  31. 9 уловок для чистого кода
  32. Lambda Functions in Python
  33. Работа со строками в Python
  34. Декоратор Ajax required
  35. Оператор walrus в Python
  36. Непрерывная проверка в Python
  37. Генерация UUID в Python
  38. Переопределение метода divmod
  39. Расчет времени выполнения кода
  40. Стать Python-разработчиком
  41. Работа с контекстными менеджерами
  42. Работа со словарями
  43. Решение переменной Шредингера
  44. Defaultdict в Python
  45. Выражения-генераторы в Python
  46. Python union() функция — объединение множеств
  47. Игра «Виселица» на Python

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