如何多次 运行 一个命令?

How to run a command multiple times?

我正在研究基于代理的模型,我想 运行 以下命令 1,000 次:

model = MyModel()
for i in range(100):
    model.step()

我决定使用 while 循环:

repetition = 0  
maxRepetition = 1000
while repetition <= maxRepetition: 
    model = MyModel()
    for i in range(100):
        model.step()    
    repetition += 1  

尽管如此,这个循环需要花费大量时间才能结束(超过 1 小时)。谁能给我推荐一个更有效的程序吗?

如果 model.step() 不需要迭代执行,那么可以使用 threadingasynciomultiprosessing 等库。

import multiprocessing

def run_model(n):
    model = MyModel()
    for i in range(100):
        model.step

with multiprocessing.Pool() as pool:
    pool.map(run_model, list(range(1000)))

来源:https://realpython.com/python-concurrency/