我有类似的东西是incorect:
vector<boost::thread> vec;
for(int agent = 1; agent <= numAgents; ++agent)
{
boost::thread agentThread(sellTickets, agent, numTickets/numAgents);
vec.push_back(agentThread);
}
也许我应该在向量中添加指向boost :: thread的指针,但后来我不知道如何添加动态分配的线程,我该怎么做才能使它工作?
谢谢。
答案 0 :(得分:24)
或使用vector<shared_ptr<boost::thread>>
代码如下:
vec.push_back(make_shared<boost::thread>(sellTickets, agent, numTickets/numAgents));
或使用boost::thread_group
。