c++ - C++ Boost 中的线程数组

标签 c++ multithreading boost stdthread

我正在尝试创建一个带线程的数组。我的代码如下所示:

boost::thread threads[10];

   for(int i = 0; i < 10; i++){
         client c(io_services[i], "www.boost.org", "/");

         threads[i] ( boost::bind(workerFunc, i) );

  }

我遇到了编译错误:

error: no match for call to ‘(boost::thread) (boost::_bi::bind_t<void, void (*)(int), boost::_bi::list1<boost::_bi::value<int> > >)’
       threads[i] ( boost::bind(workerFunc, i) );

我不知道我的代码需要更改什么。任何帮助将不胜感激。

最佳答案

您正在寻找:

boost::thread threads[10];

for(int i = 0; i < 10; i++){
    client c(io_services[i], "www.boost.org", "/");

    threads[i] = boost::thread( boost::bind(workerFunc, i) );
}

关于c++ - C++ Boost 中的线程数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34686345/

相关文章:

.net - 如何将 boost::asio 套接字转换为 C++/CLI .Net 套接字?

c++ - 有没有办法禁止我的类的子类化?

python - 如果 Python 进程在特定时间内未完成,则终止它?

Android NDK 找到动态链接 : unable to debug library

c - C 套接字上的线程同步

C++ pthread同步和线程的多次唤醒

c++ - 使用typeid来处理不同的类型

c++ - boost asio ssl写入部分数据

c++ - 将字符串输入 RapidJson 以输出 JSON

python - 一起调试boost暴露的Python和C++