Три способа выполнить множество задач с 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
⭐️【资源名称】Volume Control Pro 音量控制v6.6.2专业版 28.4
🤖【适用平台】: #Andoid
🧱【资源介绍】
Volume Control Pro「音量控制」是一个不错的 Android 设备音量控制应用程序,可让您完全自由控制您的设备的音量!使用极其简便,支持调整修改现有或创建新的预定义音量配置文件,您只需轻轻一按即可在它们之间切换。个人配置文件包括:闹钟、媒体、振铃、通知、语音(通话中)、蓝牙和整体系统音量。
🟡在线下载:点击下载
📁#Volume#音量控制
💎Volume Control Pro 音量控制v6.3.0 专业版 23
♻️资源介绍:Volume Control Pro「音量控制」是一个不错的 Android 设备音量控制应用程序,可让您完全自由控制您的设备的音量!使用极其简便,支持调整修改现有或创建新的预定义音量配置文件
⬇️本地下载|
🔵网站下载
🔔标签:#安卓软件#Volume#Control#音量控制