总结一下,创建进程有好多种方法,
CreateThread:这个函数WIN32api函数,最好不要用这个函数,会造成一些错误(原因还是很深刻的)
AfxBeginThread:这个方法是MFC特有的创建线程的方法,是MFC对CreateThread函数的封装,改善了CreateThread的一些不足,并且返回的是一个
CWinThread *的类型。
_beginthreadex:是c/c++运行库,也是对CreateThread函数的封装,避免了其的不足,返回值也可以转换为HANDLE类型。我们创建线程时尽量采用AfxBeginThread与
_beginthreadex函数。
当我们将,CREATE_SUSPENDED传入到AfxBeginThread函数时,可以让线程在创建时处于挂起状态,他的CPU占用权交出,等待被唤醒。
也可以在运行时使用SuspendThread函数来挂起线程,然后使用ResumeThread函数来唤醒线程,值得注意的是,可以使用SupendThread多次挂起线程,线程有一个挂起计数器,初始值是0,挂起一次(含初始挂起),计数器就自增1,ResumeThread以此就自减1,当此计数器为0的时候,线程就被唤醒开始从挂起的地方开始执行。