日期:2014-05-16  浏览次数:20701 次

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