最近在学习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就是一直没反应,如下图:

经多番查询,发现这好像

在Windows10环境下,使用PyCharm进行Python多进程编程时遇到问题,发现子进程的print输出无法显示。经过查询,了解到这可能是IDE限制,在Windows的CMD或Linux环境下,相同代码能正常输出。文章提到了一个可能的解决办法,并期待社区大佬指导。

1万+

被折叠的 条评论
为什么被折叠?



