可以使用Python内置库multiprocessing满足这个需求。下面是一个示例,展示如何使用multiprocessing为对象列表中的每个对象创建一个单独的进程,并将它们并行地执行。
from multiprocessing import Process
class MyObject:
def __init__(self, name):
self.name = name
def run(self):
print(f"Running {self.name}")
objects = [MyObject("Object 1"), MyObject("Object 2"), MyObject("Object 3")]
processes = []
for obj in objects:
process = Process(target=obj.run)
processes.append(process)
process.start()
for process in processes:
process.join()
print("All objects have finished running")
在此示例中,我们首先定义了一个名为MyObject的类,该类具有一个名称属性和一个run方法。然后,我们创建三个MyObject实例,并将它们存储在名为objects的列表中。
接下来,我们使用multiprocessing创建一个子进程,并将每个对象的run方法作为其目标函数。然后,我们将所有进程存储在名为processes的列表中,并在每个进程上调用start方法,以启动它们并让它们开始并行地运行。
最后,我们在所有进程上调用join方法,以等待它们全部完成。一旦所有进程都已完成运行,我们将打印一条消息来指示所有对象已经完成了运行。