Discuss / Python / Test

菜问

#1 Created at ... [Delete] [Delete and Lock User]

注:以下程序在IDLE中不能开启child进程,可以直接在dos环境运行测试

import time
from multiprocessing import Process

def fun():
    for i in range(10):
        print("child running...")
        time.sleep(1)

if __name__ == '__main__':

    p = Process(target=fun)

    p.start()
    p.join() #这里阻塞父进程运行,运行结果为先打印10次“child running...”,然后再打印10次“father running...”
    
    for i in range(10):
        print("father running...")
        time.sleep(1)
import time
from multiprocessing import Process

def fun():
    for i in range(10):
        print("child running...")
        time.sleep(1)

if __name__ == '__main__':

    p = Process(target=fun)

    p.start()
    #p.join() #去掉join(),父子进程并发运行=,运行结果为“child running...”、“father running...”交替打印
    
    for i in range(10):
        print("father running...")
        time.sleep(1)

  • 1

Reply