python - 使用 python asyncio 执行多个任务

标签 python python-3.x multithreading asynchronous python-asyncio

我有以下代码:

import asyncio

async def test_1():      
    res1 = await foo1()
    return res1

async def test_2():      
    res2 = await foo2()
    return res2

if __name__ == '__main__':
    print(asyncio.get_event_loop().run_until_complete([test_1, test_2]))
<小时/>

但是最后一次调用 .run_until_complete() 不起作用。如何使用 .run_until_complete() 对多个任务执行异步调用?

最佳答案

我正在寻找示例并找到了答案。我们可以运行一个简单的任务,它收集多个协程:

import asyncio    

async def test_1(dummy):
  res1 = await foo1()
  return res1

async def test_2(dummy):
  res2 = await foo2()
  return res2

async def multiple_tasks(dummy):
  input_coroutines = [test_1(dummy), test_2(dummy)]
  res = await asyncio.gather(*input_coroutines, return_exceptions=True)
  return res

if __name__ == '__main__':
  dummy = 0
  res1, res2 = asyncio.get_event_loop().run_until_complete(multiple_tasks(dummy))

关于python - 使用 python asyncio 执行多个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51696235/

相关文章:

swift - 创建队列和全局队列的区别。 swift 3

Java多线程HttpClient-4.3.3问题

python - 为什么 pygame 屏幕不会刷新,直到我移动窗口?

python - 使用后禁用按钮

python - 如何在Python中生成运行时类

java - 如何让两个线程等待并互相通知

python - 计算插入排序算法中要排序的元素个数

python - 如何在mysql查询中传递字典对象值作为参数?

python - Django 重定向 - 不是有效的 View 函数或模式名称错误

python-3.x - 使用sys.exit()时捕获错误