Курс 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. Работа с кортежами в Python
  4. Генерация случайных чисел в Python
  5. Лямбда-функции в цикле
  6. Имена объектов в Python
  7. Генераторы по генератору
  8. Поиск всех индексов подстроки
  9. Получение идентификатора объекта в памяти
  10. Генераторы в Python
  11. Область видимости переменных
  12. Объединение строк с помощью метода join
  13. Создание функций высшего порядка
  14. Переопределение метода len
  15. Просмотр внешних файлов в %pycat
  16. Установка максимального количества цифр
  17. Инициализация переменных
  18. Синхронизация потоков с time.sleep()
  19. Операции с массивами в NumPy
  20. Работа с timedelta
  21. Проблемы с dict в Python
  22. *args и **kwargs в Python
  23. Оператор Walrus: правильное использование
  24. Методы split() и join() — Python строк.
  25. Копирование в Python
  26. Работа с очередями в Python
  27. Объединение словарей в Python
  28. Метод classmethod
  29. Работа с WindowsPath()
  30. Глобальные переменные в Python
  31. kwargs в Python
  32. Метод get для словаря
  33. Импорт объектов из модулей
  34. Блок else в Python
  35. Метод rrshift для пользовательских объектов
  36. Создание панели меню Tkinter
  37. Генераторы в Python
  38. Список методов и атрибутов
  39. Измерение времени выполнения кода
  40. Подробная информация о %pinfo
  41. Роль object и type в Python
  42. Создание таблиц в Python с PrettyTable

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