Logo of Jet School
ГлавнаяОтзывыНаши курсыАкцииПроекты
О насБлогНовостиМероприятияГалереяГлоссарийВакансии
Контакты
AZ
RU
AZ
RU

JET School

Вдохновляющее образование для яркого будущего

Баку, ул. Олимпия 6А (около станции метро Гянджлик, рядом с Министерством Спорта)
+994 70 983 66 99+994 70 983 66 99info@jetschool.az
Понедельник - Воскресенье: 09:30 - 22:00

Навигация

  • Главная
  • Отзывы
  • Проекты
  • Выпускники
  • Предложения
  • Вакансии
  • Кадры с занятий

Направления обучения

  • Курс IT и компьютерной инжеренерии
  • Курс кибербезопасности
  • Курс Робототехники
  • Курс серверного программирования на C# .NET
  • Курс по разработки 2D игр на Unity
  • Курс UX/UI дизайна

Ресурсы

  • Блог
  • Новости
  • События
  • Глоссарий

© 2021 – 2026 JET School. Авторские права защищены.

Что такое Корутины?

JET Schoolwww.jetschool.az

Что такое Корутины?

Корутины — это специальные функции в Python, предназначенные для асинхронного программирования, которые могут быть приостановлены и возобновлены в дальнейшем. Они сохраняют своё внутреннее состояние между вызовами, позволяя программе выполнять другие задачи, пока корутина "ждёт" завершения какой-либо операции.

Корутины идеально подходят для неблокирующих задач, таких как сетевые запросы, работа с файлами или взаимодействие с базами данных, — то есть для всего, что требует ожидания, но при этом не должно "замораживать" выполнение всей программы.

Отличие от обычных функций:

  • Обычные функции завершаются после return.
  • Корутины могут "приостановиться" с помощью await, а затем продолжить выполнение.

Как определить корутину:

Корутины создаются с помощью ключевого слова async def и используют await для ожидания других асинхронных функций.


import asyncio

async def приветствие():

print("Привет")

await asyncio.sleep(2)

print("Через 2 секунды снова привет!")

Как запускать:

Нельзя просто вызвать функцию. Необходимо использовать await или asyncio.run():


asyncio.run(приветствие())

Преимущества корутин:

  • Позволяют выполнять асинхронные задачи без блокировки основного потока.
  • Повышают производительность при множестве операций ввода-вывода.
  • Используют меньше ресурсов по сравнению с потоками и процессами.

Полезно знать:

Чтобы эффективно использовать корутины, необходимо понимать:

  • async и await
  • Event loop (цикл событий)
  • Модуль asyncio

Пример с несколькими корутинами:


import asyncio

async def первая():

print("Первая началась")

await asyncio.sleep(1)

print("Первая завершена")


async def вторая():

print("Вторая началась")

await asyncio.sleep(1)

print("Вторая завершена")


async def main():

await asyncio.gather(первая(), вторая())


asyncio.run(main())

Здесь обе корутины выполняются параллельно, и программа завершается за 1 секунду, а не за 2.

+994 70 983 66 99www.jetschool.az

Корутины — это специальные функции в Python, предназначенные для асинхронного программирования, которые могут быть приостановлены и возобновлены в дальнейшем. Они сохраняют своё внутреннее состояние между вызовами, позволяя программе выполнять другие задачи, пока корутина "ждёт" завершения какой-либо операции.

Корутины идеально подходят для неблокирующих задач, таких как сетевые запросы, работа с файлами или взаимодействие с базами данных, — то есть для всего, что требует ожидания, но при этом не должно "замораживать" выполнение всей программы.

Отличие от обычных функций:

  • Обычные функции завершаются после return.
  • Корутины могут "приостановиться" с помощью await, а затем продолжить выполнение.

Как определить корутину:

Корутины создаются с помощью ключевого слова async def и используют await для ожидания других асинхронных функций.

import asyncio

async def приветствие():

print("Привет")

await asyncio.sleep(2)

print("Через 2 секунды снова привет!")

Как запускать:

Нельзя просто вызвать функцию. Необходимо использовать await или asyncio.run():

asyncio.run(приветствие())

Преимущества корутин:

  • Позволяют выполнять асинхронные задачи без блокировки основного потока.
  • Повышают производительность при множестве операций ввода-вывода.
  • Используют меньше ресурсов по сравнению с потоками и процессами.

Полезно знать:

Чтобы эффективно использовать корутины, необходимо понимать:

  • async и await
  • Event loop (цикл событий)
  • Модуль asyncio

Пример с несколькими корутинами:

import asyncio

async def первая():

print("Первая началась")

await asyncio.sleep(1)

print("Первая завершена")

async def вторая():

print("Вторая началась")

await asyncio.sleep(1)

print("Вторая завершена")

async def main():

await asyncio.gather(первая(), вторая())

asyncio.run(main())

Здесь обе корутины выполняются параллельно, и программа завершается за 1 секунду, а не за 2.

Заполните форму чтобы узнать больше о наших IT курсах

Укажите возраст (сколько вам лет?)
Выберите язык обучения
...

Связанные термины:

Начни изучать IT уже сегодня

Категория: Программирование
API
Аутентификация
Авторизация