【发布时间】:2020-11-11 23:53:02
【问题描述】:
我编写了以下代码,该代码运行一个模拟一系列化学反应的随机模拟的函数。我写了以下代码:
v = range(1, 51)
def parallelfunc(*v):
gillespie_tau_leaping(start_state, LHS, stoch_rate, state_change_array)
def info(title):
print(title)
print('module name:', __name__)
print('parent process:', os.getppid())
print('process id:', os.getpid())
if __name__ == '__main__':
info('main line')
start = datetime.utcnow()
p = Process(target=parallelfunc, args=(v))
p.start()
p.join()
end = datetime.utcnow()
sim_time = end - start
print(f"Simualtion utc time:\n{sim_time}")
我正在使用多处理库中的 Process 方法,并尝试运行 gillespie_tau_leaping 50 次。
只有我不确定它是否有效。 gillespie_tau_leaping 向终端打印出一些值,但这些值只打印一次,我希望它们被打印出 50 次。
我尝试使用getpid etc 命令,这会将以下内容返回到终端:
main line
module name: __main__
parent process: 6188
process id: 27920
如何判断我的代码是否正常工作以及如何让它将 gillepsie_tau_leaping 中的值打印 50 次到终端?
干杯
【问题讨论】:
标签: python parallel-processing process multiprocessing