linux中C++关闭线程

1. 执行完成后隐式退出
2. 由线程本身显示调用pthread_exit 函数退出;pthread_exit (void * retval) 
3. 被其他线程用pthread_cance函数终止:pthread_cance (pthread_t thread) 
解决办法:
4. // 创建线程前设置 PTHREAD_CREATE_DETACHED 属性
pthread_attr_t attr;
pthread_t thread;
pthread_attr_init (&attr);
pthread_attr_setdetachstat(&attr, PTHREAD_CREATE_DETACHED);
pthread_create (&thread, &attr, &thread_function, NULL);
pthread_attr_destroy (&attr);
5. 当线程为joinable时,使用pthread_join来获取线程返回值,并释放资源。
6. 当线程为joinable时,也可在线程中调用 pthread_detach(pthread_self());
发布了125 篇原创文章 · 获赞 66 · 访问量 57万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览