Python 3.x 如何控制python子流程的执行

Python 3.x 如何控制python子流程的执行,python-3.x,concurrency,subprocess,Python 3.x,Concurrency,Subprocess,我希望在给定的时间点(代码)停止并恢复子流程的执行 我的主程序生成了几批输出,我想用第三方工具对它们进行评估。不幸的是,每个批都依赖于最后一批的评估,所以我不能简单地运行我的程序,而不是评估器,我必须运行 主,评价者,主,评价者,主,评价者 现在有两个问题: evaluator的开销很大,我不能每次都运行它 我的程序和evaluator在同一进程中使用时都使用tensorflow和crash 所以我需要这样的东西: def main(): s = subprocess.Popen()

我希望在给定的时间点(代码)停止并恢复子流程的执行

我的主程序生成了几批输出,我想用第三方工具对它们进行评估。不幸的是,每个批都依赖于最后一批的评估,所以我不能简单地运行我的程序,而不是评估器,我必须运行 主,评价者,主,评价者,主,评价者

现在有两个问题:

  • evaluator的开销很大,我不能每次都运行它
  • 我的程序和evaluator在同一进程中使用时都使用tensorflow和crash
  • 所以我需要这样的东西:

    def main():
        s = subprocess.Popen()
        while True:
            generate_batch()
            send_batch_is_ready_signal()
            wait_for_subprocess()
    
    def subprocess():
        huge_overhead()
        while True:
            wait_for_next_batch()
            evalaute_batch()
            send_evaluation_is_ready_signal()
    
    目前我使用文件发送信号 我创建一个文件来发送一个信号,然后等待简单的查找,一旦找到就删除,有更好的方法吗? 非常感谢:)