背景
python 由于存在全局解释锁,所以多线程比较鸡肋,尤其是针对计算密集型的任务,python多线程提供的并发效果很差。针对计算密集型任务,需要使用python 多进程实现并行计算。
实例
使用python提供的多进程库 multiprocessing
# 这里需要并发执行的任务
def worker(param1,param2):
pass
# 声明进程池对象
pool = multiprocessing.Pool(processes = 8)
# 向进程池中提交任务
for i in xrange(8):
pool.apply_async(worker,(param1,param2))
pool.close()
pool.join()