线程池类似于多处理池?有工人用的游泳池吗?螺纹,类似于多处理模块的池类?例如,我喜欢将映射函数并行化的简单方法。def long_running_func(p):
c_func_no_gil(p)p = multiprocessing.Pool(4)xs = p.map(long_running_func, range(100))但是,我想在没有创建新进程的开销的情况下这样做。我知道吉尔的事。但是,在我的usecase中,函数将是一个IO绑定的C函数,python包装器将在实际函数调用之前释放GIL。我必须自己写线程池吗?
3 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
multiprocessing
from multiprocessing.pool import ThreadPool
multiprocessing.dummy
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
import multiprocessingdef worker(lnk): .... def start_process(): .........if(PROCESS): pool = multiprocessing.Pool(processes=POOL_SIZE, initializer=start_process)else: pool = multiprocessing.pool.ThreadPool(processes=POOL_SIZE, initializer=start_process)pool.map(worker, inputs)....
添加回答
举报
0/150
提交
取消