Курс 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. Работа с пользовательским вводом
  3. Многострочные комментарии в Python
  4. Декораторы с @wraps
  5. Разделение списка на гнппы
  6. Списки в Python: основы
  7. Python: отсутствие точек с запятыми
  8. Поиск простых чисел
  9. Генераторы в Python
  10. Освоение Python
  11. discard() — удаление элемента из множества
  12. Асинхронное выполнение задач в Python
  13. История Python
  14. Переменная с нижним подчеркиванием
  15. Python itertools combinations() — группировка элементов
  16. Работа с файлами в Python
  17. Работа с коллекциями Python
  18. Оптимизация методов в Python 3.7
  19. Удаление элемента по индексу в Python
  20. Оператор in для проверки наличия элемента
  21. kwargs в Python
  22. Решение переменной Шредингера
  23. Метод enumerate() в Python
  24. Транспонирование матрицы в Python
  25. Метод rsub для пользовательских чисел
  26. Создание генераторов в Python
  27. Форматирование строк в Python
  28. Выборка чисел
  29. Метод remove() для удаления элемента из списка
  30. Получение комбинаций в Python
  31. Обновление множества в Python
  32. Метод join для наборов
  33. Логические операторы в Python
  34. Генерация резюме в Gensim
  35. Python reversed() функция
  36. capitalize() — изменение регистра первого символа строки
  37. Сохранение Unicode в JSON
  38. Получение текущего времени в Python
  39. Цикл for в Python
  40. Операции с комплексными числами
  41. Объединение строк с помощью метода join
  42. Управление виртуальными средами в Python
  43. Разность множеств
  44. Отслеживание прогресса с tqdm
  45. Magic Commands — улучшение работы с Python
  46. Удаление дубликатов в pandas

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