上次了解過了多線程的代碼應(yīng)用,在python中還有另一種運行方式“多進(jìn)程”,其也是讓程序同時運行,與多線程的區(qū)別在于,每一個進(jìn)程中都有自己的內(nèi)存,變量之間不互通,進(jìn)程與進(jìn)程之前訪問必須要有一個中間代理。
下面看一個多進(jìn)程的例子,也是和之前一樣調(diào)用相同的方法
import multiprocessing
def worker(num):
"""該函數(shù)將在子進(jìn)程中執(zhí)行"""
print('Worker %d' % num)
if __name__ == '__main__':
# 創(chuàng)建進(jìn)程池
pool = multiprocessing.Pool(4)
# 啟動進(jìn)程池中的進(jìn)程
pool.map(worker, range(10))
# 關(guān)閉進(jìn)程池
pool.close()
# 等待進(jìn)程池中的進(jìn)程結(jié)束
pool.join()
同時打印work0-9 進(jìn)程同時執(zhí)行
上一篇: 快捷動畫庫animate