Курс 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. Переменные в Python: сокращение гласных
  3. Преобразование объекта в строку
  4. Руководство по библиотеке pydantic
  5. Профилирование кода
  6. Перехват исключений в Python
  7. Игра «Угадывание чисел»
  8. Исключение NotImplementedError
  9. Оператор assert в Python
  10. Игра Виселица на Python
  11. Работа с коллекциями Python
  12. Работа с контекстными менеджерами
  13. Получение размера объекта с sys.getsizeof()
  14. Получение пути к текущему скрипту с помощью os
  15. Получение ID текущего процесса
  16. Antigravity модуль
  17. Построение графиков в Matplotlib
  18. Декораторы в Python
  19. Python и Монти Пайтон
  20. Передача словаря через **kwargs
  21. Работа со случайными элементами
  22. Ошибка NotImplemented в Python
  23. Сортировка с параметром key
  24. Глобальные переменные в Python
  25. Компиляция регулярных выражений
  26. Генераторные функции в Python
  27. Поиск всех индексов подстроки
  28. Переопределение метода xor в Python
  29. Преобразование типов данных в set comprehension
  30. Создание тестовых данных с Faker
  31. Метод setdefault() в Python
  32. Преобразование регистра символов
  33. Документация функции help() в Python
  34. Расчет времени выполнения
  35. Атрибуты класса и экземпляра в Python
  36. inspect в Python: анализ кода
  37. Объединение словарей в Python
  38. Работа с CSV файлами
  39. Названия переменных
  40. Метод округления чисел
  41. Метод add для класса Vector
  42. Просмотр атрибутов и методов класса
  43. Методы Python для работы с данными
  44. Повторение элементов в Python
  45. Работа с географическими данными в Python
  46. Подсчет элементов в Python
  47. Цикл for в Python
  48. Определение локальных переменных в Python
  49. Хранение переменных в словаре.
  50. Простой калькулятор Python

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