MFC中使用AfxBeginThread创建的线程需要释放吗?

时间:2021-09-29 18:26:47
MFC中使用AfxBeginThread创建的线程需要释放吗?
比如下面的线程m_pThread在处理完毕自己的工作后或者在程序退出时需要做释放的动作吗?
m_pThread = AfxBeginThread(ThreadProc, (LPVOID)this);

9 个解决方案

#1


不需要吧,
好像后面还有个参数,制定是否手动释放,以判断线程是否结束

#2


如果是线程自己结束自己的话,就用AfxEndThread

#3


不用,但要注意的是你的让他正常结束

#4


是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要

#5


引用 4 楼 arong1234 的回复:
是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要

支持这个。另外,线程函数要让它自然结束。

#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


引用 4 楼 arong1234 的回复:
是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要

支持这个。另外,线程函数要让它自然结束。

#6


线程函数要让它自然结束。

#7


如果是正常“return 0”结束的不用,如果是中途强行结束的需要,关于这个你可以看看MFC的代码,其实你自己提供的线程入口函数只是个“二手货色”因为是MFC自己的入口call你的入口所以真正的结束点是MFC的call点。

#8


CWinThread类的成员变量m_bAutoDelete,在它的初始化函数中默认的就是设置为TRUE

#9


是否需要释放是由m_pThread->m_bAutoDelete控制的,你设置它为TRUE就不需要,否则就需要
线程函数要让它自然结束。不然内存泄露