创建线程!!!
function()
{
CWinThread* m_pTestThread;
m_pTestThread=AfxBeginThread(&ProxyThread,NULL,
THREAD_PRIORITY_NORMAL,0,
CREATE_SUSPENDED);
m_pTestThread->m_bAutoDelete=TRUE;
m_pTestThread->ResumeThread();
}
在创建完新线程后,如果m_pTestThread已经被释放了,会对已经运行的那个线程有影响吗? 或者,还可以在给他分配另一个线程吗,会对第一个线程有影响吗?
问题点数:20、回复次数:2Top
1 楼season11(云中漫步)回复于 2002-12-17 19:00:14 得分 0
没有任何影响的,线程的句柄和线程ID没有必然的联系。还有辅助线程和主线程、其他进程的通信,不是通过句柄完成的,是通过全局变量、互斥操作等方法来实现。也是就是说主线程只负责产生线程,线程的释放不是有主线程完成的!Top
2 楼season11(云中漫步)回复于 2002-12-18 10:27:29 得分 20
当你你调用CreateThread的时候系统自动把线程的引用计数设为2。你释放m_pTestThread,其实系统只为你做了一件事就是把线程的引用计数减1,如果为0则清除;当你的线程结束的时候系统还会将引用计数减1,如果为0则清除。只有这两个条件都满足线程才释放!Top





