线程退出时,线程控制函数里建立的对象自动释放资源吗?
比如:ADO对象集什么的。 问题点数:50、回复次数:11Top
1 楼temp()回复于 2001-05-24 20:30:00 得分 0
怎么没人理我呢?Top
2 楼edyang(化石)回复于 2001-05-24 20:34:00 得分 0
这个问题有些太笼统了,就是 ADO 对象集,也要看你怎样创建、使用和释放的。Top
3 楼seesi(不是我想骗你,是我不知道怎么才能不骗!)回复于 2001-05-24 20:49:00 得分 50
不会,ADO对象需要CloseTop
4 楼temp()回复于 2001-05-24 20:55:00 得分 0
<<不会,ADO对象需要Close
哦,明白了!Top
5 楼temp()回复于 2001-05-26 13:45:00 得分 0
线程函数里的CString对象会自动释放资源吗?Top
6 楼chief(大副)回复于 2001-05-26 14:38:00 得分 0
理論上說,就算你的CString是new出來的,windows也會在你的程序退出時清掉,但前提是要求你的程序是正常退出的,那樣才能執行到ExitProcess()函數。
但是這是很不應該的,在任何時候都應該在程序碼中顯式釋放資源,養成這种良好的編程習慣會讓你受用無盡的Top
7 楼temp()回复于 2001-05-26 15:42:00 得分 0
<<在任何時候都應該在程序碼中顯式釋放資源
是delete掉吗?
delete mystr?Top
8 楼temp()回复于 2001-05-26 15:44:00 得分 0
<<在任何時候都應該在程序碼中顯式釋放資源
是delete掉吗?
delete mystr?Top
9 楼temp()回复于 2001-06-13 01:04:00 得分 0
线程里New操作分配的存储空间,用的是线程的堆吗?
Top
10 楼temp()回复于 2001-06-13 01:07:00 得分 0
一般的子程序的入参及局部变量都放在栈中的,子程序结束后,栈中的局部变量将消失;
对象.Create及New申请的动态空间都是在堆中分配的,在堆中分配的空间不能自动释放,
必须用语句显式地释放
/*------------------------------*/
是这样吗?
Top
11 楼temp()回复于 2001-06-13 21:44:00 得分 0
子线程里建立的数据库记录集,是在进程的堆里分配空间吗?
m_pRecordset.CreateInstance("ADODB.Recordset");
... ...
m_pRecordset->Release();
一定要自己释放吗?
Top




