Три способа выполнить множество задач с 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
▎🌿 Introducing the Mazda EZ-6: The Green Liftback! 🚗💚
The Mazda EZ-6, developed in collaboration with Changan, is considered the indirect successor to the iconic gasoline "Six." This innovative model will be available in seven versions — four hybrid and three fully electric options! ⚡️
🔋Fully Electric Version:
- Power: 258 hp electric motor on the rear axle.
🔄Hybrid Versions:
- Engine: 1.5L, 95 hp gasoline generator.
- Electric Motor: 218 hp for driving wheels.
✨Luxurious Features:
- Leather upholstery (base model)
- Premium leather and suede options (higher trims)
- Sony audio system with 14 speakers 🎶
- Ambient interior lighting 🌈
- Zero-gravity front seats for ultimate comfort 🛋️
- Panoramic sunroof 🌌
- Wireless smartphone charging 📱
- Advanced cruise control 🚦
- 14.6-inch media system powered by Qualcomm Snapdragon 8155.
💰Price Range: 160,000 to 200,000 CNY ($22,800 – $28,500 USD).
#MazdaEZ6#GreenDriving#ElectricVehicle#HybridTechnology#LuxuryOnWheels#Auto
🚗✨Introducing the All-New Volkswagen Passat in China!🇨🇳
Say hello to the latest sedan that combines sleek design with innovative features! While it may resemble the European wagon, the Chinese Passat boasts a unique look with aggressive bumpers and stylish black accents. 😍
🌟Key Features:
- 11.6-inch Passenger Display for ultimate entertainment! 📱
- Convenient Seat Adjustment Button for rear passengers to maximize comfort! 🪑
Under the hood, choose between two powerful turbo engines:
- 1.5L with 160 hp ⚡️
- 2.0L with 220 hp 🚀
🗓️Sales Begin on September 10th!
#Volkswagen#Passat#NewRelease#China#CarEnthusiasts#Innovation#LuxuryOnWheels#Auto
🚗✨Exciting News: Huawei and BAIC's Stelato S9 Gets a Price Cut!✨🚗
The local competitor to the Mercedes-Benz EQS has just launched pre-orders at a new, lower price! Originally priced between 450,000 and 550,000 yuan (approximately $62,000 to $76,000), the Stelato S9 is now available for just 399,800 to 449,800 yuan (about $56,000 to $63,000)! 💰🎉
The base model features a powerful 309-horsepower rear motor, while the premium versions come with an additional front motor boasting 215 horsepower. 🏎️💨 This electric sedan can accelerate from 0 to 100 km/h in just 3.9 seconds! ⚡️🔥
#StelatoS9#Huawei#BAIC#ElectricSedan#PriceCut#LuxuryOnWheels#Auto