multiprocessing 多进程,运行效率瓶颈在于CPU数量可以用这个依赖包,这个是面向过程使用方便
Threading 多线程,程序运行效率瓶颈在于网络传输时延可以使用这个依赖,这个面向对象使用方便
上一篇有关于Threading的demo,这里写个multiprocessing demo
import multiprocessing
def test(text):
print("text:", text)
if __name__ == "__main__":
# processess数量表示同时运行的的进程数,依据电脑性能设置进程数
pool = multiprocessing.Pool(processes = 10)
for count in range(100):
text = "count %d" %count
# 确保processes进程数都在运行,当一个进程执行任务完成后会添加新的进程进去
pool.apply_async(test, (text,))
pool.close() # 调用join之前,先调用close函数,否则会出错。
pool.join() #执行完close后不会有新的进程加入到pool,join函数等待所有子进程结束