Python中的简单多进程/多线程示例?
模块 threading、Thread 和 multiprocessing 之间有什么区别?(我可能对多线程(共享内存和全局变量?)和多进程(真正独立的进程?)的概念理解得不太好。)
能不能用一个简单的例子来说明一下这个问题(计算的内容不重要):我有一个循环,里面进行一些独立的计算,我希望通过并行计算来加速这个过程:
def myfunct(d):
facto = 1
for x in range(d):
facto*=x
return facto
cases = [1,2,3,4] # and so on
for d in cases: #loop to parallelize
print myfunct(d) # or to store on a common list when calculated
谢谢你们即将给出的通俗易懂的回答。
1 个回答
2
不需要超出文档的答案
"""multiprocessing是一个包,它支持使用类似于线程模块的API来创建进程。这个包提供了本地和远程的并发处理,巧妙地绕过了全局解释器锁(Global Interpreter Lock),使用子进程而不是线程。因此,multiprocessing模块让程序员可以充分利用计算机上的多个处理器。它可以在Unix和Windows系统上运行。"""
线程(threading)是关于线程的,而多进程(multiprocessing)是关于进程的。
还需要什么呢?