30dayMakeCppServer
30dayMakeCppServer copied to clipboard
关于day12中server类构造函数的
`Server::Server(EventLoop _loop) : mainReactor(_loop), acceptor(nullptr){ acceptor = new Acceptor(mainReactor);//主反应堆,用来处理连接事件 std::function<void(Socket)> cb = std::bind(&Server::newConnection, this, std::placeholders::_1); acceptor->setNewConnectionCallback(cb);
int size = std::thread::hardware_concurrency();
thpool = new ThreadPool(size);
for(int i = 0; i < size; ++i){
subReactors.push_back(new EventLoop());
}
for(int i = 0; i < size; ++i){
std::function<void()> sub_loop = std::bind(&EventLoop::loop, subReactors[i]);
thpool->add(sub_loop);
}
} ` std::function<void()> sub_loop = std::bind(&EventLoop::loop, subReactors[i]);请问这行代码中loop是无参函数,为什么需要绑定subReactors?
这是让每个subReactor都执行loop函数