我有一段代码,它使用pool
和starmap
并行运行各种统计操作。如果我尝试操作从这个多处理部分生成的结果列表,那么代码将无限期地运行。你知道吗
我已经删除了打印长度部分和代码运行成功,将终止。我也尝试过各种方法,比如getvalues()
、copy.copy()
和copy.deepcopy()
,尝试复制列表并使用它进行操作,但这也不起作用。你知道吗
from multiprocessing import Pool
def multiproc(tuple_list):
if __name__ == '__main__':
p = Pool(4)
end_tuple_list = p.starmap(get_stats, tuple_list)
p.close()
p.join()
print(str(end_tuple_list))
return end_tuple_list
res_tuple_list = multiproc(tuple_list))
print(str(res_tuple_list))
print('length is ' +str(len(res_tuple_list)))
我希望能够像任何普通的list
一样使用生成的res_tuple_list
,但是每当我试图以任何方式操作它时,代码都不会终止,而且我认为在多处理完成之前代码会被卡住。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐