Python中的简单多进程/多线程示例?

1 投票
1 回答
1279 浏览
提问于 2025-04-16 15:04

模块 threadingThreadmultiprocessing 之间有什么区别?(我可能对多线程(共享内存和全局变量?)和多进程(真正独立的进程?)的概念理解得不太好。)

能不能用一个简单的例子来说明一下这个问题(计算的内容不重要):我有一个循环,里面进行一些独立的计算,我希望通过并行计算来加速这个过程:

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)是关于进程的。

还需要什么呢?

撰写回答