+ -
当前位置:首页 → 问答吧 → linux多线程编程怎么释放线程资源

linux多线程编程怎么释放线程资源

时间:2011-01-06

来源:互联网

我的代码形如
while(){
     pthread_create(...)
}
由于循环次数比较多,还没有循环完毕,就报错:Thread creation failed!: Cannot allocate memory。
请问怎么释放线程资源?

作者: tomjamescn   发布时间: 2011-01-06

差了点资料,需要设置线程属性:
pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);

线程有两种detachstate,直译“分离状态”,一是PTHREAD_CREATE_JOINABLE,即非分离状态,这是默认值;二是PTHREAD_CREATE_DETACHED,分离状态。默认属性,即非分离状态必须调用pthread_join方法之后系统才会回收线程占用的资源;而分离状态下线程执行完毕就会释放线程资源。

作者: tomjamescn   发布时间: 2011-01-06