03 创建线程包装成协程
2022/1/9小于 1 分钟python并发异步编程
03 创建线程包装成协程
import asyncio
import time
def fn1(element: int):
print("线程执行到这里了")
print("IO开始")
time.sleep(3)
print("IO结束了")
return 33 + element
async def main():
# python3.6
loop = asyncio.get_event_loop()
# python3.7
# loop = asyncio.get_running_loop()
# 默认用线程池,如果想用多进程,创建进程池后传给第一个参数
future = loop.run_in_executor(None, fn1, 5)
# 在这期间可以干点别的事情
print("干点别的事情")
await asyncio.sleep(5)
result = await future
print(result)
# python3.6
asyncio.get_event_loop().run_until_complete(main())
# python3.7
# asyncio.run(main())