我想同时创建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)

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

要以调用函数的形式才可以
把for循环写成一个def,用多线程调用