增强线程列表

问题描述

| 我有类似下面的代码。下面的代码给出了SIGSEGV并指向list :: push_back。这是使用Boost线程列表的正确方法吗?
struct mythread{
   static void myfunc() {
      while(1){ }
   }
};

int f(){
   std::list<boost::thread *> pool;
   pool.push_back(new boost::thread(mythread::myfunc));
}
环境:Ubuntu上的gcc 4.4.5,与libboost_thread.a和-lpthread链接。我没有使用c ++ 0x标志。 问候, 丘布斯达德 注意2:我也获得了SIGSEGV的代码
pool.push_back(new boost::thread(NULL);
    

解决方法

        尝试获取函数指针的地址:
pool.push_back(new boost::thread(&mythread::myfunc));
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...