Что выведет код Middle asyncio спрашивают часто обновлено
Порядок выполнения задач asyncio
Вопрос
Что выведет код? По строке на каждый print.
import asyncio
async def worker(name, delay):
print('start', name)
await asyncio.sleep(delay)
print('end', name)
return name
async def main():
res = await asyncio.gather(worker('a', 0.2), worker('b', 0.1))
print(res)
asyncio.run(main())
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: start a, start b, end b, end a, ['a', 'b']. Обе задачи стартуют и печатают start, дойдя до sleep. b спит меньше и заканчивается первой. gather возвращает результаты в порядке аргументов, а не завершения: ['a', 'b'].
Что выведет
start a
start b
end b
end a
['a', 'b']
Разбор
Обе задачи стартуют и печатают start, дойдя до sleep. b спит меньше и заканчивается первой. gather возвращает результаты в порядке аргументов, а не завершения: ['a', 'b'].
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.