同时运行两个进程

时间:2016-08-31 20:39:54

标签: python multiprocessing

我试图同时运行2个进程,但只运行第一个进程

def add():
    while True:
        print (1)
        time.sleep(3)

def sud():
     while True:
        print(0)
        time.sleep(3)

p1 = multiprocessing.Process(target=add) 
p1.run()
p = multiprocessing.Process(target=sud)
p.run()

2 个答案:

答案 0 :(得分:4)

下面的确可以使用,但尝试将其作为模块运行。不要在控制台或Jupiter笔记本中尝试,因为笔记本永远不会满足条件"如果名称 == ' 主要'&#34 ;. 将整个代码保存在文件中,例如process.py,然后从命令提示符运行它。 编辑 - 它工作正常。刚才我试过 - enter image description here

import multiprocessing
import time
def add():
    while True:
        print (1)
        time.sleep(3)

def sud():
     while True:
        print(0)
        time.sleep(3)
if __name__ == '__main__':
    p1 = multiprocessing.Process(name='p1', target=add)
    p = multiprocessing.Process(name='p', target=sud)
    p1.start()
    p.start()

答案 1 :(得分:3)

您要查找的方法是run,而不是startrun启动流程并调用run以在新流程中执行工作;如果您致电{{1}},则在调用流程中运行工作而不是新流程。