最近在学习python多进程编程,windows10系统,python3编译器,IDE为pycharm。运行网上的多线程程序,发现无法输出结果,也不提示错误。代码如下:
import os
import sys
import multiprocessing
import time
import random
def worker(msg):
t_start = time.time()
print("%s开始执行,进程号为%d" % (msg, os.getpid()))
time.sleep(random.random()*2)
t_stop = time.time()
print(msg, "执行完毕,耗时%0.2f" % (t_stop-t_start))
def main():
po = multiprocessing.Pool(3)
for i in range(0, 10):
po.imap_unordered(worker, (i,))
print("----------start------------")
po.close()
po.join()
print("----------end------------")
if __name__ == '__main__':
multiprocessing.freeze_support()
main()
代码不复杂,但是在pycharm就是一直没反应,如下图: