刚接触异步asyncio,发现python文档一个版本一个变化,恼火。
东拼西凑终于解决了asyncio的多线程操作,记录下来。对于一个门外汉。太难了。
首先python3.9版本终于封装了一个多线程函数
asyncio.to_thread(func, /, *args, **kwargs) #函数直接开线程,传递参数。感觉这才像python
对于3.9版本以下,asyncio多线程实现就是,两个函数:
run_in_executor 和 run_coroutine_threadsafe
对应两种需求。
一个是主线程,直接新开线程,运行阻塞函数。方式就像之前写的同步代码一样。代码如下(用到了run_in_executor):
from concurrent.futures import ThreadPoolExecutor
import asyncio,time
def zusehanshu(): #测试的阻塞函数
time.sleep(10)
threadmingzi(

最低0.47元/天 解锁文章
1307






