process_vertices函数
有两个参数:process和要处理的点集合
process_vertices(std::function<R(VertexId)> process, Bitmap * active) {}
其调用如下:
double delta = graph->process_vertices<double>(
[&](VertexId vtx){
curr[vtx] = (double)1;
if (graph->out_degree[vtx]>0) {
curr[vtx] /= graph->out_degree[vtx];
}
return (double)1;
},
active_in
);
函数体内部如下:
根据已有的threads和设置的threads_per_socket把线程划分到分区,s_i 是分区号,s_j socket内的线程编号
// process vertices
template<typename R>
R process_vertices(std::function<R(VertexId)> process, Bitmap * active) {
double