中国开发网: 论坛: 程序员情感CBD: 贴子 71839
bjwf
问个技术问题,有关linux下多线程的
假设我创建了一个线程A,正常情况下A在10秒内完成,另创建了一个定时器,时间到后如果A还没完就kill掉,现在的问题是:

1.如果A里面有 malloc 的内存, 正常情况下会被free掉,但kill A的话,是不是有可能产生内存泄露?

2.pthread_cleanup_push 可以给线程安个回调函数,如果在这个回调函数里free线程被kill掉时已分配的内存,这样做的话问题是,每malloc一次都要用个全局变量把指针记下来,岂不是很搞笑?

3.更麻烦的问题在于A里调用了很多别人提供的函数,这些函数里肯定有malloc,做某些处里的时候也有可能block一小段时间,如果避免超时情况下的内存泄露问题?
试图在互联网上划出国界的举动是愚蠢的!!!
把人当成猪羊圈养,草料永远都不够!把人当人待,人有无限的创造力! “人口减少一半,人们两倍富有”的观念为“一种非常糟糕的自甘堕落—这背后的潜台词是,似乎中国人是封闭围栏中的动物,对周围那些自己赖以生存的资源,除了咀嚼,别无办法。”

我的像册:http://picasaweb.google.com/bjwf2000/
我的主页: http://bjwf2000.googlepages.com/

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录