如何将boost线程添加到矢量中

Adr*_*ian 8 c++ boost

我有这样的东西是incorect:

vector<boost::thread> vec;
for(int agent = 1; agent <= numAgents; ++agent)
{
    boost::thread agentThread(sellTickets, agent, numTickets/numAgents);
    vec.push_back(agentThread);
}
Run Code Online (Sandbox Code Playgroud)

也许我应该在向量中添加指向boost :: thread的指针,但后来我不知道如何添加动态分配的线程,我该怎么做才能使这个工作?

谢谢.

ybu*_*ill 24

  • 您必须拥有支持move-semantics的编译器才能使代码正常工作,
  • 或使用vector<shared_ptr<boost::thread>>代码如:

    vec.push_back(make_shared<boost::thread>(sellTickets, agent, numTickets/numAgents));
    
    Run Code Online (Sandbox Code Playgroud)
  • 或使用boost::thread_group.