Веб-версияОткрыть в Telegram

ПостРазвёрнутое пояснение:

24 сентября 2026
P
Python: задачки и вопросы
ОтветОпрос
Развёрнутое пояснение: 1. asyncio.run запускает цикл событий и начинает выполнять main. 2. Первый вызов create_task планирует задачу db, но send ещё не начинает исполняться, поскольку main пока не передал управление циклу событий. 3. Второй вызов create_task аналогично планирует задачу log. 4. На await db функция main приостанавливается, и цикл событий запускает запланированные задачи в порядке их постановки. 5. Задача db печатает send db и приостанавливается на asyncio.sleep(0). 6. Затем задача log печатает send log и тоже приостанавливается. 7. После завершения db ожидание в main заканчивается, и main печатает saved. Поэтому строки выводятся в порядке send db, send log, saved. Почему это важно: create_task запускает конкурентную задачу при ближайшей передаче управления циклу событий. Ожидание одной задачи не мешает другим уже запланированным задачам начать работу, что важно учитывать при отправке данных, обновлении метрик и обработке очередей.
1 · 235 ·

Рядом в ленте

PPython: задачки и вопросыРазвёрнутое пояснение: 1. При входе в блок with вызывается метод __enter__, который печатает begin. 2. Тело блока печатает write, после чего возбуждает исключенPPython: задачки и вопросыОпрос
это сообщение
PPython: задачки и вопросыОпросPPython: задачки и вопросыРазвёрнутое пояснение: 1. Для класса Client строится порядок разрешения методов: Client, Audit, Retry, Base, object. 2. Вызов send сначала находит реализацию в
PPython: задачки и вопросыPython: задачки и вопросы@quiz_python · канал · Технологии
6 904подписчиков258средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем