博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Avoiding memory leaks in POSIX thread programming, 多线程避免内存泄漏
阅读量:6605 次
发布时间:2019-06-24

本文共 880 字,大约阅读时间需要 2 分钟。

默认创建的线程为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 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/sanghai/p/6739041.html

你可能感兴趣的文章
LeeCode-Swap Nodes in Pairs
查看>>
JSR303结合切面校验参数
查看>>
130242014076+陈旭+第2次实验
查看>>
【MySQL】centOS中安装和配置MySQL
查看>>
bzoj 1070: [SCOI2007]修车
查看>>
乱码发生的原因
查看>>
CMD命令行基本命令
查看>>
Go语言的通道(2)-缓冲通道
查看>>
javascript 正则表达式邮箱验证
查看>>
poj1328
查看>>
response.write()跟ajax冲突的解决方案
查看>>
【编码】utf-8
查看>>
两个viewport的故事(第二部分)
查看>>
display:table-cell的应用
查看>>
在micropython固件中增加自己的模块
查看>>
【数学】数论进阶-常见数论函数
查看>>
第一轮复习Servlet day04
查看>>
Babel下的ES6兼容性与规范
查看>>
【iOS开发】视图控制器加载和卸载时的几个函数
查看>>
python——装饰器
查看>>