比如下面的线程m_pThread在处理完毕自己的工作后或者在程序退出时需要做释放的动作吗?
m_pThread = AfxBeginThread(ThreadProc, (LPVOID)this);
9 个解决方案
#1
不需要吧,
好像后面还有个参数,制定是否手动释放,以判断线程是否结束
好像后面还有个参数,制定是否手动释放,以判断线程是否结束
#2
如果是线程自己结束自己的话,就用AfxEndThread
#3
不用,但要注意的是你的让他正常结束
#4
是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要
#5
支持这个。另外,线程函数要让它自然结束。
#6
线程函数要让它自然结束。
#7
如果是正常“return 0”结束的不用,如果是中途强行结束的需要,关于这个你可以看看MFC的代码,其实你自己提供的线程入口函数只是个“二手货色”因为是MFC自己的入口call你的入口所以真正的结束点是MFC的call点。
#8
CWinThread类的成员变量m_bAutoDelete,在它的初始化函数中默认的就是设置为TRUE
#9
是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要
线程函数要让它自然结束。不然内存泄露
线程函数要让它自然结束。不然内存泄露
#1
不需要吧,
好像后面还有个参数,制定是否手动释放,以判断线程是否结束
好像后面还有个参数,制定是否手动释放,以判断线程是否结束
#2
如果是线程自己结束自己的话,就用AfxEndThread
#3
不用,但要注意的是你的让他正常结束
#4
是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要
#5
支持这个。另外,线程函数要让它自然结束。
#6
线程函数要让它自然结束。
#7
如果是正常“return 0”结束的不用,如果是中途强行结束的需要,关于这个你可以看看MFC的代码,其实你自己提供的线程入口函数只是个“二手货色”因为是MFC自己的入口call你的入口所以真正的结束点是MFC的call点。
#8
CWinThread类的成员变量m_bAutoDelete,在它的初始化函数中默认的就是设置为TRUE
#9
是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要
线程函数要让它自然结束。不然内存泄露
线程函数要让它自然结束。不然内存泄露