Example #1
0
from multiprocessing import Process, Pool,Lock
import os, time
lock = Lock()
r = []
def run_proc(name):
    for i in range(5):
        lock.acquire()
        time.sleep(0.2)
        print 'Run child process %s (%s)'% (name, os.getpid())
        lock.release()
    r.append('1')
    print r
    # run_proc('tesst')
if __name__  ==  '__main__':
    # run_proc('test')
    print 'Run the main process (%s). '% (os.getpid())
    mainStart = time.time()
    p = Pool(4)
    print p.__sizeof__()
    for i in range(16):
        p.apply_async(run_proc,args=('Process'+str(i),))
        print p.__sizeof__()
    print 'Waiting for all subprocesses done...'
    p.close()
    p.join()
    print 'All subprocesses done'
    mainEnd = time.time()
    print 'All process ran %0.2f seonds.'%(mainEnd-mainStart)