c – 提升对类方法的多次调用

在boost :: thread中,可以调用类方法而不使类可调用并实现void operator()(),就像调用类方法一样

   for(int i=0;i<5;i++)
    boost::thread worker(myclass.myfunc,i,param2);

我收到错误<未解决的重载函数类型>

实际上我更喜欢知道zi :: thread的相同内容

解决方法:

boost :: thread不需要任何特殊的东西,它可以完全按照你想要的方式工作(减去语法错误):

for (int i = 0; i != 5; ++i)
    boost::thread worker(&myclass::myfunc, myclassPointer, i, param2);

boost.thread docs

template <class F,class A1,class A2,...>

thread(F f,A1 a1,A2 a2,...);

Effects: As if thread(boost::bind(f, a1, a2, ...)). Consequently, f and each aN are copied into internal storage for access by the new thread.

上一篇:FutureTask是怎样获取到异步执行结果的?


下一篇:rest 异步请求