import multiprocessing import os, time, random def work(i): t_start = time.time() print("pid = %d" % os.getpid()) time.sleep(random.random()*2) t_end = time.time() print(i,"耗时%06.2f" % (t_end-t_start)) po = multiprocessing.Pool(processes=3) def main(): print("main start") global po print(po) for i in range(10): po.apply_async(work,args=(i,)) po.close() po.join() print("main end") if __name__ == '__main__': main()
po = multiprocessing.Pool(processes=3)
这个写到mian()函数里面就可以了,不知道为什么?