社区
移动开发其他问题
帖子详情
多线程的情况下线程中止[thread cancel]造成的leak
canny38
2011-06-25 05:38:52
之前在没有垃圾回收的移动平台上做一个涉及网络的应用,因为想方便移植或一时脑残,选用的c作为网络层,结果多线程直接用的posix-thread,结果出现一个特殊状况.......在注销用户等特殊状态下,需要调用thread cancel,结果线程杀掉时有一些malloc出来的空间没有来得及free,检查出了leak.......内存耗用只要运行时间一长就稳步增长.......
我晕,这种情况一般是怎么处理的?
...全文
152
4
打赏
收藏
多线程的情况下线程中止[thread cancel]造成的leak
之前在没有垃圾回收的移动平台上做一个涉及网络的应用,因为想方便移植或一时脑残,选用的c作为网络层,结果多线程直接用的posix-thread,结果出现一个特殊状况.......在注销用户等特殊状态下,需要调用thread cancel,结果线程杀掉时有一些malloc出来的空间没有来得及free,检查出了leak.......内存耗用只要运行时间一长就稳步增长....... 我晕,这种情况一般是怎么处理的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
咸鱼一条007
2011-08-16
打赏
举报
回复
需要将清理资源函数 压栈,Cancel线程时候会调用压入堆栈中的清理资源函数。
pthread_cleanup_push()/pthread_cleanup_pop() //不安全需要将线程设为PTHREAD_CANCEL_DEFERRED模式
pthread_cleanup_push_defer_np()/pthread_cleanup_pop_defer_np()
fontlose
2011-07-14
打赏
举报
回复
线程中强行终止是会有问题的,一般是外部线程设标记,线程内检测标记结束时,线程内释放资源并结束
canny38
2011-07-01
打赏
举报
回复
如果不cancel,下次登录时,明显就可能出现同样功能的线程重入的的情况(即使因为thread运行时间短,可能性就会低一些),而这些重入不是简单加加lock就能ok的,代码从开始设计时候就没考虑重入功能.....这种是怎么处理的呢?
这种情况暂时有一种处理方法,就是malloc时候记录指针到链表,free的时候删除节点......但是,这种方法我只能说靠........
用户 昵称
2011-06-27
打赏
举报
回复
俺没做过这些,就在windows下用vc,线程都是想法让他主动退出的。
Thread
和handler,
线程
,
线程
池
线程
Thread
1,
线程
使用中有两种将使用
线程
关闭的方法 a.加标志位,b,
Thread
.interrupt(); 2,标志位例子:设置仪表标志位,通过set放发外界进行停止
线程
中的循环 classMy
Thread
extends
Thread
{ privatevolatilebooleanisStop =false; @Overr...
java面试小结——并发与
多
线程
Java
线程
的状态及如何转换 多个
线程
之间如何协调? wait()、notify()、notifyAll():这三个方法用于协调多个
线程
对共享数据的存取,所以必须在同步语句块内使用。wait方法要等待notify/notifyAll的
线程
释放锁后才能开始继续往下执行。 // 等待方 synchronized(lockObj){ while(condition is...
Android
线程
文章目录
Thread
RunnableAsyncTaskMessage QueueHandlerrunOnUi
Thread
Handler
Thread
Thread
PoolExecutorIntentService
Thread
public class My
Thread
extends
Thread
{ @Override public void run() { // ...
Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
下面是一个在Android中使用定时器Timer和TimerTask的启动,停止,暂停,继续等操作的demo。 需要注意的问题主要有两点: 1、Timer和TimerTask在调用can
cel
()取消后不能再执行 schedule语句,否则提示出错,提示如下: D/AndroidRuntime( 6672): Shutting down VM W/dalvikvm( 6672): thr
2021 Java面试真题集锦
目录 … 1 大厂面试的基本流程 17 字节跳动 17 阿里 17 腾讯 18 网易游戏 18 面试前需要准备: 18 面试中可以借鉴的套路 19 用简历争取到更多的面试机会 19 自我介绍时,立即全面抛出技术栈和亮点 20 先介绍项目背景,打消面试官疑问 21 通过说项目管理工具,说明你不仅会写代码 22 用 SPRING BOOT 项目举例,说明你的技术基本面 23 用实例说明你在内存调优方面的经验 24 展示你在数据库调优方面的经验 25 总结前文说辞 26 准备项目说辞时,更可以准备后继面试官的问
移动开发其他问题
791
社区成员
13,279
社区内容
发帖
与我相关
我的任务
移动开发其他问题
移动平台 其他移动相关
复制链接
扫一扫
分享
社区描述
移动平台 其他移动相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章