Discuss / Python / 问题

问题

Topic source

神月宗

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

#coding=utf-8

from multiprocessing import Process import os,time

def run_proc(name): print "Run child process %s(%s)..."%(name,os.getpid()) time.sleep(2)

if name == "main": print "Parent process %s."%os.getpid()

    #开启父进程的调用
    #问题2:在整个进程的执行中,父进程是不是扮演者调配者的角色?
    for i in ['Chris iven','Chris jack','Chris lucy','Chris Michael']:
            p = Process(target=run_proc,args=(i,),name=i)
            p.start()#子进程的开始
            print "进程是否活着?",p.is_alive()
            print "进程的名字:%s"%p.name
            p.join()
    #问题1:p.join()这里又有什么不同吗?
    print "ok,所有进程搞定"

哪位大哥能帮帮忙,看一下,谢谢了

问题1 join就是阻塞当前调用的进程(父进程)要等到子进程正常或者异常中止之后再继续执行(输出一句话)

问题2 可以这么说,但是严格上说进程是由系统调度的,这里只是再父进程里面启动新创建的子进程


  • 1

Reply