在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
库将任务分发到多个进程中。你可以根据自己的需求修改这个示例,以便在更复杂的情况下进行任务分发。