小编ode*_*eya的帖子

python多处理,大数据将进程转变为睡眠状态

我正在使用python 2.7.10.我读了很多文件,将它们存储到一个大的列表中,然后尝试调用多处理并将大列表传递给那些多进程,这样每个进程都可以访问这个大的列表并进行一些计算.

我正在使用像这样的Pool:

def read_match_wrapper(args):
    args2 = args[0] + (args[1],)
    read_match(*args2)

 pool = multiprocessing.Pool(processes=10)
 result=pool.map(read_match_wrapper,itertools.izip(itertools.repeat((ped_list,chr_map,combined_id_to_id,chr)),range(10)))
 pool.close()
 pool.join()
Run Code Online (Sandbox Code Playgroud)

基本上,我将多个变量传递给'read_match'函数.为了使用pool.map,我编写了'read_match_wrapper'函数.我不需要从这些过程中获得任何结果.我只是想让他们跑步和完成.

当我的数据列表'ped_list'非常小时,我可以完成整个过程.当我加载所有数据(如10G)时,它生成的所有多进程都显示为"S",似乎根本不起作用.

我不知道你可以通过池访问多少数据?我真的需要帮助!谢谢!

python sleep pool multiprocessing bigdata

6
推荐指数
1
解决办法
1130
查看次数

标签 统计

bigdata ×1

multiprocessing ×1

pool ×1

python ×1

sleep ×1