Курс 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. Потоковый ввод в Python
  4. Функция reduce() в Python
  5. Измерение времени выполнения с помощью time
  6. Форматирование строк в Python
  7. Добавление элементов в список
  8. Метод rlshift для битового сдвига
  9. Оператор «or» в Python
  10. Вычисление логарифмов в Python
  11. Операторы Splat и splatty-splat
  12. Создание объекта времени
  13. Поиск индексов в списке
  14. Аннотации типов в Python
  15. Склеивание строк через метод join()
  16. Комментарии в Python
  17. Установка библиотек в Python
  18. Декораторы классов
  19. Определение основы слова с showballstemmer
  20. Изменение IP-адреса в Python
  21. Python union() функция — объединение множеств
  22. ChainMap.new_child() — добавление нового словаря
  23. Проверка на палиндром
  24. Создание треугольника Паскаля
  25. Именование столбцов в Python с pandas
  26. Проблемы с dict в Python
  27. Декораторы в Python
  28. Оператор in для проверки наличия элемента
  29. Метод append() для списка
  30. Контекстный менеджер в Python
  31. Приближение чисел в Python
  32. Сортировка и разворот списка
  33. Создание генераторов
  34. Работа с модулем os в Python
  35. Оператор деления для класса Rational
  36. Работа с изменяемыми коллекциями
  37. Извлечение новостей с newspaper3k
  38. Генерация случайных чисел Python
  39. Работа с прокси в Python
  40. Генерация случайных чисел в Python
  41. Явный импорт в Python
  42. Работа с defaultdictами в Python
  43. Использование модуля __future__
  44. Переопределение метода __eq__
  45. Работа с часовыми поясами в Python
  46. Импорт и использование модулей в Python
  47. Numpy: объединение массивов
  48. Работа со строками
  49. Просмотр внешних файлов в %pycat

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