Python3.6 IDLE 使用 multiprocessing.Process 不显示执行函数的打印

要运行的程序:

import os
from multiprocessing import Process
import time

def run_proc(name):
    print('Child process %s (%s) Running...'%(name,os.getpid()))
   # time.sleep(5)

if __name__ == '__main__':
    print("Show Start:")
    print('Parent process %s.' % os.getpid())
    for i in range(1,5):
        p = Process(target=run_proc,args=(str(i),))
        print('Process %d will start.' % i)
        p.start()
    p.join()
    print('Proess end.')

运行后在IDLE里只会显示:
Python3.6 IDLE 使用 multiprocessing.Process 不显示执行函数的打印_第1张图片

我就呵呵呵了,说好的子进程呢?
去掉了time.sleep(5)的注释的话程序会过一段时间才会结束,说明是函数是有执行的,只是没打印。。
开个cmd,把文件拖进去运行。。

Python3.6 IDLE 使用 multiprocessing.Process 不显示执行函数的打印_第2张图片

。。。。

你可能感兴趣的:(Python学习)