Учитывая код ниже. Я хотел бы провести 3 эксперимента одновременно. Эксперименты независимы, единственное, что они делят, это объект модели, который они только читают.
Поскольку, похоже, нет ничего сложного в продвижении этого, как я могу лучше всего это сделать в Python? Я хотел бы использовать пул или около того, чтобы убедиться, что одновременно выполняются только три эксперимента. Должен ли я использовать мульти-обработку? Если да, то какой самый короткий и краткий?
#!/usr/bin/env python2.6
import time
class Model:
name = ""
def __init__(self,name):
self.name = name
class Experiment:
id = 0
model = None
done = False
def __init__(self,id,model):
self.id = id
self.model = model
def run(self):
for _ in range(0,60):
print "Hey %s from experiment %d" % (self.model.name, id)
time.sleep(1)
self.done = True
if __name__ == "__main__":
experiments = []
model = Model("statictistical model")
for i in range(0,5):
experiments.append(Experiment(i, model))
#How to run 3 experiments at the same time