1 模块简介
multiprocessing模块在Python2.6中引入。最初的multiprocessing是由Jesse Noller和Richard Oudkerk在PEP 371中定义。就像你可以在threading模块中使用多个线程一样,multiprocessing模块允许你使用多个进程。当你使用多个进程时,你可以避免GIL锁,并充分利用机器的多处理器。
multiprocessing库包括一些没有在threading模块中出现的API。例如,你可以使用Pool类在多个输入上并行执行一个函数。我们将在后面的章节提到Pool。我们先从multiprocessing中的Process类开始。
2 模块使用
2.1 开始使用Multiprocessing
Process类与threading中的Thread类非常相似。让我们尝试着创建多个进程,这些进程都会调用同一个函数,让我们看看它们是如何工作的,
import osfrom multiprocessing import Processdef doubler(number):
result = number * 2
proc = os.getpid()
print("{0} double to {1} by process id:{2}\n".format(number,result,proc))if __name__ == "__main__":
numbers = [5,10,15,20,25]
procs = [] for&nb

