Python创建进程池的代码位置问题

rom multiprocessing import Pool
import timeimport osimport random**p = Pool(3)**

def worker(msg):
    start_time = time.time()    print("开始执行进程 %d ----- %s" % (msg, os.getpid()))    time.sleep(random.random()*2)
    stop_time = time.time()    print(msg, '耗费时间是 %0.2f'% (stop_time-start_time))for i in range(0,10):
    p.apply_async(worker, (i,))print("-----start-----")

p.close()
p.join()print("------END-------")

为什么p = pool(3)如果写在def worker(msg)的上面,程序就会报错呢?如果写在def worker(msg)的下面就运行正常,网上没找到答案,求大神解答,感谢。


慕后森
浏览 904回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python