代码之家  ›  专栏  ›  技术社区  ›  New2Python

如何在python中同时运行n个进程

  •  0
  • New2Python  · 技术社区  · 7 年前

    我试图同时执行n个进程。下面的示例适用于外部提供的两个流程。

    目前,这两个进程都是硬编码的,但是我需要想出通用的解决方案来完成相同的任务,即同时运行n个进程。

    我的代码如下:

    import multiprocessing
    
    '''
    
    The first process: print 'aa'
    The second Process: print 'BB'
    
    '''
    
    def TR1(): 
        print 'aaaaaaaaa'
    
    def TR2(): 
        print 'BBBBBBBB'
    
    if __name__ == '__main__':
    
        process_1 = multiprocessing.Process(name='process_1', target=TR1)
        process_2 = multiprocessing.Process(name='process_2', target=TR2)
    
        process_1.start()
        process_2.start()
    

    谢谢你的建议!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Slam    7 年前

    您可以在循环中生成进程,也可以使用执行器池。

    在现实生活中,后一种方法通常是首选的方法,因为您可以限制池的大小 和 有容易的结果收集。

    如果您使用的是python 2,那么 backport 包括 ProcessPoolExecutor