run_coroutine_threadsafe
用于在另一个线程中的执行异步方法,需要事先构建一个事件循环 loop ,将 loop 放入线程中 run_forever() ,外部通过方法asyncio.run_coroutine_threadsafe(coro, loop) 让 loop 执行异步方法
coro: 异步方法
loop: 事件循环
import asyncio
import threading
import time
async def function():
print("function里面")
return "返回"
def start_loop(loop):
asyncio.set_event_loop(loop)
loop.run_forever()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
threading.Thread(target=start_loop, args=(loop,)