记录使用pycharm进行多进程编程时,无法print输出子进程内容

编程入门 行业动态 更新时间:2024-10-07 18:25:02

记录使用pycharm进行多<a href=https://www.elefans.com/category/jswz/34/1771450.html style=进程编程时,无法print输出子进程内容"/>

记录使用pycharm进行多进程编程时,无法print输出子进程内容

        最近在学习python多进程编程,windows10系统,python3编译器,IDE为pycharm。运行网上的多线程程序,发现无法输出结果,也不提示错误。代码如下:

import os
import sys
import multiprocessing
import time
import randomdef 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就是一直没反应,如下图:

        经多番查询,发现这好像是一个无解的问题,在windows系统下,使用IDE(如pycharm),在子进程中无法使用print函数,这里给出了一种解决办法,可以参考。

        虽然在IDE中不行,但是在windows下的cmd,或者linux下,是可以正常使用print函数的,如下图是我在cmd中运行上面的程序的结果:



        这个问题我不知道怎么解决,看到的大佬们可以指导下我。

更多推荐

记录使用pycharm进行多进程编程时,无法print输出子进程内容

本文发布于:2024-02-11 14:44:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681527.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:进程   内容   pycharm   print

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!