在pthread function 里面我用new 分配的内存问题 。。。
问题1)那个堆上的内存快会随着pthread的中止而自动回收吗?
我想需要自己来delete他。。。
问题2) 比如我有一个全局的变量globalobj, 我在pthread function 里面初始化它, 然后再main() delete 那个obj, 这种做法没有问题吧?
比如,
obj * globalobj; //global variable
int main()
{
...
pthread_create(thed_id, NULL, function, (void*)NULL);
...
pthread_join(thed_id);
delete globalobj;
return 0;
}
void * function(void* junk)
{
...
obj * myobj = new obj;
globalobj = myobj;
...
}
------解决方案--------------------pthread是很简单的线程模型,共享进程的所有数据
所以我认为
1.不会
2.没有问题
是这样吗,楼主?
------解决方案--------------------new
delete
只要成对应用就行了!