我刚刚发现模块中实际上 有一个基于线程的Pool接口multiprocessing
,但是它有些隐藏并且没有正确记录。
可以通过导入
from multiprocessing.pool import ThreadPool
它是使用包装Python线程的虚拟Process
类实现的。可以找到基于线程的Proces
s类multiprocessing.dummy
,在docs中对其进行了简要介绍。该虚拟模块应该提供基于线程的整个多处理接口。
在Python 3中,你可以使用concurrent.futures.ThreadPoolExecutor
,即:
executor = ThreadPoolExecutor(max_workers=10)
a = executor.submit(my_function)