关于线程释放资源的有关问题

关于线程释放资源的问题
我写了一个程序,子线程是CWinThread * a=AfxBeginThread(start,this)创建的
子线程函数有个循环,通过一个按钮改变一个变量来结束循环,最后线程return(0)

这样做程序是可以退出,但是进程却还挂着

之后我就加了一句,在改变结束循环变量之后再使变量a=NULL,这样进程就不会挂起了
这是为什么呢?
这样做会不会有什么问题。

还有怎样才能把主线程的资源完全释放掉?

------解决方案--------------------
return(0)后,a=NULL就可以释放了,没问题

------解决方案--------------------
还有怎样才能把主线程的资源完全释放掉?

---

退出进程: ExitProcess 但不建议使用。