分类: C/C++
2008-11-10 10:15:59
除非是一个分离的线程,否则在线程退出时,它是不会释放它的资源的。
pthread_detach函数将线程分离,它设置线程的内部选项来说明线程退出后,线程的存储空间
可以被重新收回。分离线程退出时不会报告它们的状态。没有分离的线程是可接合的,而且被另
一个线程为它们调用pthread_join或者整个进程退出之前,这些线程不会释放它们所有的资
源。
pthread_join函数会使调用者等待待定的线程退出。为防止内存泄漏,长时间运行的程序
最终应该为每个线程调用pthread_detach或pthread_join。
代码:
|
使用线程最麻烦的地方就是资源释放不掉,所以大家在创建线程之后,一定要将其分离或
者挂起,否则会内存泄漏,甚至out of memory