python中的循环调用c++程序,并在tim之后返回循环

2024-05-16 11:24:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了两个for循环,内部的一个调用一个c++程序(这里用编辑器emacs代替),这个程序必须在一段时间后终止。此外,对于一个浓度,应平行计算每个‘加速度’(1、2、3、4)以加速,然后对于下一个浓度,应再次计算每个加速度

我的问题是,使用timelimit终止c++程序时,python程序不会返回到循环来计算下一个浓度,它只是停止

我已经写了一个更简单的程序,并尝试子进程打开c++程序,但它没有在一段时间后终止。我也用了时间限制。谢谢你的帮助

#!/usr/bin/python2.7
from multiprocessing import Pool
import os
import subprocess as sub

x = set([1, 2, 3, 4, ])
y = set([11, 21, ])

def j_in_y(i):
     for j in y: #concentration
         print i+j
         cll = 'timelimit -t5 -T2 emacs' #c++ program call, for test emacs
         os.system(cll)

for i in x: #acceleration
     pool = Pool(processes=3)
     pool.apply_async(j_in_y, (i,))
     pool.close()
     pool.join()

Tags: inimport程序foros编辑器加速度emacs