一尘不染

Python -多处理vs线程

python

我试图理解多处理比线程的优势。我知道多处理绕过了全局解释器锁,但是还有什么其他优点,线程不能做同样的事情?


阅读 392

收藏
2020-02-07

共1个答案

一尘不染

threading模块使用线程,该multiprocessing模块使用进程。不同之处在于线程在相同的内存空间中运行,而进程具有单独的内存。这使得在具有多处理的进程之间共享对象更加困难。由于线程使用相同的内存,因此必须采取预防措施,否则两个线程将同时写入同一内​​存。这就是全局解释器锁的作用。

生成过程比生成线程要慢一些。一旦运行,就没有太大的区别。

2020-02-07