在Python中實現多核并行處理可以使用多種方法,如下所示:
multiprocessing
模塊:該模塊提供了創建和管理進程的功能,可以使用Process
類創建多個進程,并通過join()
方法等待所有進程執行完畢。示例代碼如下:from multiprocessing import Process
def func():
# 在此處編寫需要并行處理的代碼
if __name__ == '__main__':
processes = []
for i in range(4):
p = Process(target=func)
processes.append(p)
p.start()
for p in processes:
p.join()
concurrent.futures
模塊:該模塊提供了高級的并發執行功能,可以使用ProcessPoolExecutor
類創建一個進程池,并使用submit()
方法提交任務到進程池中。示例代碼如下:from concurrent.futures import ProcessPoolExecutor
def func():
# 在此處編寫需要并行處理的代碼
if __name__ == '__main__':
with ProcessPoolExecutor(max_workers=4) as executor:
futures = [executor.submit(func) for _ in range(4)]
for future in futures:
future.result()
joblib
庫:該庫提供了簡單易用的并行處理功能,可以使用Parallel
函數創建一個并行處理的上下文,并在其中執行需要并行處理的函數。示例代碼如下:from joblib import Parallel, delayed
def func():
# 在此處編寫需要并行處理的代碼
if __name__ == '__main__':
Parallel(n_jobs=4)(delayed(func)() for _ in range(4))
以上是幾種常見的實現多核并行處理的方法,可以根據具體需求選擇合適的方法進行使用。