Passion/Python

python multiprocess 프로그래밍 구조

sunshout 2011. 5. 4. 06:29
thread가 하나의 프로세스를 나눠 쓰는 개념이라면 multiprocess는 다중 코어를 사용하는 방법이다.
 
python multiprocess module 프로그램밍의 구조는

from multiprocessing import Process

import os

def pinfo(title):
    output = "Module name: %s\n" % title
    output += "Parent process:%s\n" % os.getppid()
    output += "Process id:%s\n" % os.getpid()
    return output

def collector(args):
    print pinfo("collector")
    print "args:%s\n" % args

def console(args):
    while 1:
        cmd =raw_input("cmd> ")
        print "[%s]" % cmd

if __name__ == "__main__":
    print pinfo(__name__)
    pcol = Process(target=collector, args=('bob',))
    pcol.start()

    console("con")

    pcol.join()


pcol라는 프로세스를 multiprocess로 생성하고, 독작적으로 실행한다.
전체 프로세스를 관리하기 위해서 console 함수를 만들고 이를 통해서 나머지 프로세스를 관리하게 만든다.