线程退出后资源释放问题

线程退出后资源释放问题

一、创建线程时使用默认属性
使用pthread_create()创建线程时,设置属性为NULL,线程退出时该线程占用的资源不会释放。比如遇到过反复创建某个线程后返回,会导致其占用的虚拟内存不断增加,最终导致系统资源不可用。

二、线程退出时如何释放占用资源
有几种方法,实测方法2可行,其他可以自己尝试
1.可以在pthread_create时设置线程属性为unjoinable
2.简单方法,线程函数头加上 pthread_detach(pthread_self())
3.在主线程适时调用pthread_join();即主线程阻塞等待子线程结束,然后回收子线程资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值