在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
只要成对应用就行了!