python multiprocessing — 基于进程的并行
概述
multiprocessing 是一個用與 threading 模塊相似API的支持產(chǎn)生進(jìn)程的包。 multiprocessing 包同時提供本地和遠(yuǎn)程并發(fā),使用子進(jìn)程代替線程,有效避免 Global Interpreter Lock 帶來的影響。因此, multiprocessing 模塊允許程序員充分利用機(jī)器上的多個核心。Unix 和 Windows 上都可以運行。
multiprocessing 模塊還引入了在 threading 模塊中沒有類似物的API。這方面的一個主要例子是 Pool 對象,它提供了一種方便的方法,可以跨多個輸入值并行化函數(shù)的執(zhí)行,跨進(jìn)程分配輸入數(shù)據(jù)(數(shù)據(jù)并行)。以下示例演示了在模塊中定義此類函數(shù)的常見做法,以便子進(jìn)程可以成功導(dǎo)入該模塊。
官方文檔鏈接:multiprocessing — 基于進(jìn)程的并行
參考文章1:Python multiprocessing使用詳解
參考文章2:python中的multiprocessing真的是多進(jìn)程運行?
20200312 更新
multiprocessing的缺點
參考文章:python多線程為啥是假的?(GIL 全局解釋器鎖)
總結(jié)
以上是生活随笔為你收集整理的python multiprocessing — 基于进程的并行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tensorflow yolov3 In
- 下一篇: python 多进程multiproce