Python 无法同时运行这两个循环

Python 无法同时运行这两个循环,python,process,Python,Process,它只运行func1,不运行func2。我不明白它为什么会这样做。在这次通话中: from multiprocessing import Process from time import sleep def func1(): a=1 while True: print("func1 up and running",a) a+=1 sleep(1) def func2(): A=1 while

它只运行func1,不运行func2。我不明白它为什么会这样做。

在这次通话中:

from multiprocessing import Process
from time import sleep

def func1():
    a=1
    while True:
        print("func1 up and running",a)
        a+=1
        sleep(1)


def func2():
    A=1
    while True:
        print("func2 up and running", A)
        A+=1
        sleep(1)

if __name__ == '__main__':

    proc1 = Process(target=func1())
    proc1.start()

    proc2 = Process(target=func2())
    proc2.start()
您正在调用
func1
,而不是将其作为参数传递给
target
关键字选项。由于您在此处调用的是
func1
,而且它永远不会退出,因此这实际上是您的执行停止的地方

你想要:

proc1 = Process(target=func1())
有关更多详细信息,请参见示例

proc1 = Process(target=func1)