threads.push_back(boost::make_shared<boost::thread>(boost::ref(*workers[i])));