擅长:python、mysql、java
<p>正如文档所说,您只能调用一次.start()方法,我相信每次都必须创建新的进程:</p>
<pre><code># setup the jobs and run
result_queue = multiprocessing.Queue()
mcmc1 = MCMC(options, donors, clusters)
mcmc2 = MCMC(options, donors, clusters)
mcmc3 = MCMC(options, donors, clusters)
mcmc4 = MCMC(options, donors, clusters)
p1 = Process(result_queue, mcmc1)
p2 = Process(result_queue, mcmc2)
p3 = Process(result_queue, mcmc3)
p4 = Process(result_queue, mcmc4)
jobs = [p1, p2, p3, p4]
for job in jobs:
#job.debug_level = 1
job.start()
results = [result_queue.get() for job in jobs]
#for res in results: res.traceplot(show=False)
p5 = Process(result_queue, results[0])
p6 = Process(result_queue, results[1])
p7 = Process(result_queue, results[2])
p8 = Process(result_queue, results[3])
jobs2 = [p5, p6, p7, p8]
for j in jobs2:
j.start()
results2 = [result_queue.get() for job in jobs2]
</code></pre>