Python 工作進程池可以幫助我們以一種更高效、并行的方式處理任務,從而提高代碼執行速度。Python 官方標準庫提供了一個 multiprocessing 庫,它為我們提供了非常方便的工作進程池實現。
下面是一個創建固定大小進程池、并在進程池中執行任務的例子:
import multiprocessing import time # 定義一個工作進程的任務函數 def worker(num): """進程池中進程執行的函數""" print('Worker:', num) time.sleep(1) return if __name__ == '__main__': # 創建一個固定大小的進程池 pool = multiprocessing.Pool(processes=4) # 向進程池提交任務 for i in range(10): pool.apply_async(worker, args=(i,)) # 關閉進程池,不再接受新的任務 pool.close() # 等待進程池中所有任務完成 pool.join() print('All done.')
在這個例子中,我們使用 multiprocessing.Pool(processes=4) 創建了一個大小為 4 的進程池。接著,我們向進程池中提交了 10 個任務,每個任務都是通過 pool.apply_async(worker, args=(i,)) 提交的,并且與進程池中的進程一起執行。
等待所有任務完成后,我們調用 pool.join() 等待所有進程池中的進程結束。最后,我們打印出 'All done.' 表示任務全部完成。
上一篇c json數組轉換
下一篇python 工作日函數