Три способа выполнить множество задач с asyncio
Функция для примера:
async def do_it(n):
await asyncio.sleep(random.uniform(0.5, 1))
return n
1. Последовательный вызов
async def main():
for i in range(100):
result = await do_it(i)
Такой вызов имеет смысл только тогда, когда результат одной задачи требуется для вызова следующей.
Если они независимы, то это антипаттерн, так как аналогичен простому синхронному вызову по очереди.
2. Упорядоченный результат
async def main():
tasks = [do_it(i) for i in range(100)]
results = await asyncio.gather(*tasks)
Выполняет корутины конкурентно и возвращает результат в виде списка.
Полезен когда требуется получить результаты в том же порядке в котором задачи отправлены.
3. Результат по мере готовности
tasks = [asyncio.create_task(do_it(i)) for i in range(100)]
for cor in asyncio.as_completed(tasks):
result = await cor
Так же выполняет корутины конкурентно, но не гарантирует порядок. Результат возвращается по мере готовности, каждый отдельно.
Полезен когда нужно обработать любой ответ как можно скорее.
#async
苹果 M4 Pro / Max 款 MacBook Pro 推迟发货时间,M5 Pro / Max 机型有望 1 月 28 日发布
苹果美国官网显示,M4 Pro/Max MacBook Pro 机型供应收紧,发货时间推迟至2月6日后,部分定制机型甚至延至3月17日。这通常是新品发布前的迹象。有消息称,搭载M5 Pro/Max芯片的新款MacBook Pro可能于1月28日悄然上架官网。
标签:#apple#macbookpro
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
Apple unveils new MacBooks, AirPods
Apple unveiled its latest products, including two new MacBook Pro models that use in-house chips, a new generation of AirPods, and a $5-per-month music streaming service
#AppleEvent#MacBookPro#News#Reuters
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
💥Hub USB Tipo C 6 en 1 DEMKICO
Convierte tu portátil en una estación de trabajo completa
✅OFERTA: 11.99€
❌ Antes: 16.99€
💰Ahorras un 29%🔥
Conexión sencilla y rápida, amplía tus posibilidades de conectividad
👉 Mejora tu experiencia digital ahora
#rebajas#hubusb#adaptadormultipuerto#macbookpro#ofertas#descuentos#tecnologia#rebajasdeinvierno
🛰️Oferta publicada en Tecnología