默认创建的线程为joinable的,必须调用pthread_join()才可以释放所占的内存
创建分离线程detach, attr 线程函数运行结束,调用pthread_exit 其它线程调用pthread_cancle()都可以释放立刻释放所占用内存
整理自:
检测是否内存泄漏:
#!/bin/bash#https://www.ibm.com/developerworks/library/l-memory-leaks/EXE=${ 1}echo "PROGRAM ${EXE}"DEFAULT_STACK_SIZE=`ulimit -s`PID=`pgrep ${EXE}`while ((1))do #所有线程:已结束的和活跃的线程 ALL_THREAD=`pmap ${PID} | grep ${DEFAULT_STACK_SIZE} | wc -l` #正在运行的活跃线程 ACTIVE_THREAD=`ls /proc/${PID}/task | wc -l` let DISPERSION=ALL_THREAD-ACTIVE_THREAD echo ${DISPERSION} sleep 1done
posted on 2017-04-20 15:34 阅读( ...) 评论( ...)