首页 > 解决方案 > 作为线程执行的 Python 异步和同步函数

问题描述

我想从纯同步代码中调用异步函数。我想在后台执行该异步功能而不会卡住我的编。我的想法是使用线程模块。

from threading import Thread
import asyncio

async def func1():
    ...

def func2():
    ...

if __name__ == '__main__':
    Thread(target=func1).start()
    Thread(target=func2).start()

任何想法?提前致谢!

标签: pythonpython-multithreadingpython-asyncio

解决方案


从 Python 3.7 开始,有asyncio.run.

代替

    Thread(target=func1).start()

经过

    Thread(target=asyncio.run, args=(func1(),)).start()

推荐阅读