Курс 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. Декоратор защиты анонимных пользователей
  3. Создание графиков в терминале
  4. Асинхронное программирование с asyncio
  5. Атрибуты класса и экземпляра
  6. Декоратор total_ordering для класса Point
  7. Генерация случайных чисел Python
  8. Основы работы с базами данных в Python
  9. Декораторы с аргументами
  10. Форматирование заголовков в Python
  11. Добавление кнопки в tkinter
  12. Разделение функций на этапы
  13. Метод pos в Python
  14. Работа с итераторами в Python
  15. Делегирование в Python
  16. Метод __irshift__ для побитового сдвига вправо
  17. Создание вложенного генератора
  18. Очистка строки в Python
  19. Передача неизвестных аргументов в Python.
  20. Сравнение строк в Python
  21. Работа с классами данных
  22. Изменение переменной в Python: nonlocal
  23. Оператор умножения для вектора
  24. Получение комбинаций в Python
  25. Форматирование строк в Python
  26. Цикл while в Python
  27. Непрерывная проверка в Python
  28. Итерации в Python
  29. Генерация QR-кодов с Python
  30. Поиск наиболее частого элемента в списке
  31. Преобразование списков в словарь
  32. Поиск самого длинного слова в списке с использованием max()
  33. Метод pop() списка
  34. Объединение словарей в Python
  35. Форматирование чисел в Python
  36. Работа с модулем random
  37. Работа с контекстными переменными
  38. Python: Splat-оператор и splatty-splat
  39. Оператор is в Python
  40. Синтаксис переменных цикла в Python
  41. Создание обратного итератора
  42. Работа с переменными в Python
  43. Поиск индексов подстроки
  44. Преобразование символов с помощью map

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