在Python中,multiprocessing
庫可以幫助你實現任務分發。它允許你創建多個進程,以便在多個CPU核心上并行執行任務。以下是一個簡單的示例,展示了如何使用multiprocessing
庫進行任務分發:
import multiprocessing
def worker(num):
"""模擬一個需要執行的任務"""
print(f"Worker: {num}")
if __name__ == "__main__":
# 創建一個任務列表
tasks = [1, 2, 3, 4, 5]
# 創建一個進程列表
processes = []
# 為每個任務創建一個新的進程并將其添加到進程列表中
for task in tasks:
process = multiprocessing.Process(target=worker, args=(task,))
processes.append(process)
process.start()
# 等待所有進程完成
for process in processes:
process.join()
在這個示例中,我們首先導入了multiprocessing
庫。然后,我們定義了一個名為worker
的函數,該函數接受一個參數num
并打印出來。這個函數模擬了一個需要執行的任務。
在__main__
部分,我們創建了一個任務列表tasks
,其中包含了一些數字。接下來,我們創建了一個空的進程列表processes
。
然后,我們遍歷任務列表,為每個任務創建一個新的進程。我們使用multiprocessing.Process
類創建進程,并將worker
函數作為目標函數。我們還將任務編號作為參數傳遞給worker
函數。創建進程后,我們將其添加到進程列表中,并使用start()
方法啟動進程。
最后,我們遍歷進程列表,使用join()
方法等待所有進程完成。
這個示例展示了如何使用multiprocessing
庫將任務分發到多個進程中。你可以根據自己的需求修改這個示例,以便在更復雜的情況下進行任務分發。