Курс 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. Работа с Enum в Python3.
  4. split() — разделение строки
  5. Строки в Python: апострофы и кавычки
  6. Пропуск начальных строк с помощью dropwhile()
  7. Объединение объектов в Python
  8. Декоратор для группы пользователей в Django
  9. TypedDict для kwargs в Python 3.12
  10. Работа с кортежами
  11. Возврат нескольких значений из функции
  12. Генераторы словарей и множеств
  13. Преобразование регистра строк
  14. Импорт и использование модулей в Python
  15. Оптимизация строк в Python
  16. Создание графиков в терминале
  17. Dict Comprehension в Python
  18. PEP-401: оператор
  19. Работа с файлами в Python
  20. Оптимизация методов в Python 3.7
  21. Оператор «not» в Python
  22. Декодирование байтов в строку
  23. Проверка кортежей.
  24. Генератор списка в Python
  25. Изменения в обработке логических значений
  26. Управление виртуальными средами в Python
  27. Поиск уникальных и повторяющихся элементов
  28. Функция eval() в Python
  29. Python union() функция — объединение множеств
  30. Подсчет частотности элементов в Python
  31. Генераторы списков в Python
  32. Удаление пробелов методом translate()
  33. Обработка исключений с блоком else
  34. Любовь к Python
  35. Объединение словарей в Python
  36. Сложные типы данных в Python
  37. Установка User-Agent в Python
  38. Парсинг статей с Newspaper3k
  39. Создание директории в Python
  40. Конкатенация списков в Python
  41. Моржовый оператор в Python 3.8
  42. Распаковка с оператором *
  43. Метод Event.wait() в Python
  44. Протокол управления контекстом

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