我有类似于下面的代码。下面的代码给出了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标志。
问候,
Chubsdad
注2:我也得到SIGSEGV的代码
pool.push_back(new boost::thread(NULL);
什么的堆栈跟踪看起来像? –
list :: push_back calls list :: _ M_Insert which called _List_node_base :: hook。 SIGSEGV是从钩子成员函数 – Chubsdad