美少女战士拯救世界前的求学之路 2022-05-02 03:04 采纳率: 50%
浏览 49
已结题

我想同时创建10个进程,但是最终多进程的效果没有体现,这是为什么?


result = []
    pool = Pool(processes=10)  # 并发数量设为10
    for foldername in folderlist:
        path_dfs = path + foldername + '/pre_new/'
        os.makedirs(path_dfs)
        path_info = path + foldername + '/样本分析.csv'
        path_1 = path + foldername + '/edge_info_total_0.7.csv'  # 边数据(包含相似度>=0.67)
        path_2 = path + foldername + '/node_info.csv'
        path_3 = path + foldername + '/pre_new/component_element.csv'  # 输出,存储包含每个组成单元的知识元
        path_4 = path + foldername + '/pre_new/edge_info_childnet.csv'  # 输出,存储张成子图点边权重信息
        path_5 = path + foldername + '/pre_new/un_link.csv'
        result.append(pool.apply_async(main, args=(foldername, path_info, path_1, path_2, path_3, path_4,path_5,)).get())
    pool.close()
    pool.join()

    for i in result:
        print(i)
  • 写回答

2条回答 默认 最新

  • 关注

    谢谢,我问题解决了,其实不是for的问题,而是get()的问题,这里的get需要获取值,在没有值时,get就会让程序出现阻塞直到等到值,所以for循环的每一步都要等到值才会继续下一个for循环,就出现了类似同步的情况。这是改后的答案

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月12日
  • 已采纳回答 5月5日
  • 修改了问题 5月2日
  • 创建了问题 5月2日

悬赏问题

  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
  • ¥15 传人记程序做的plc 485从机程序该如何写
  • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?