CreateThread,是WIN32 最直接创建的thread API函数.但是如果在线程回调(CALLBACK)函数中使用一些标准C的函数,当线程正常退出的时候,即使你释放了所有用户资源,仍然会有资源的泄漏的隐患。主要原因是线程中都需要有额外的资源,来保证一些标准C函数的线程安全,这些资源的创建是在C的标准函数被调用的时候,但是在thread退出的时候,没法通过正常途径释放。
如果在你的回调函数中使用一些标准C函数,最好使用_beginthreadex,_endthreadex替换掉原来的CreateThread, _endthreadex 会释放这些资源,或者AfxBeginThread(里面有调用_beginthreadex,_endthreadex)
具体原因查看《程序员的修养,编译与链接》一书。