你可以使用一个全局的变量来表示线程的运行,如果需要线程终止运行的话,对那个变量进行修改,当线程检测自己的运行情况时,发现不需要运行自己了,就可以退出线程了。
具体的:
extern int need_run;
UINT MyThreadProc(LPVOID lparam)
{
  while(need_run)//这个判断可有可无,但如果是个一直要运行的工作线程的话,并且希望线程在完成一系列特定的工作之后才能终止的话,加上这个比较好。那样可以省去代码间的各个判断;如果希望线程立刻终止的话,就应该在各行代码见添加以下的代码。
  {
   //Do The Work you want it to do
   ...
   if(!need_run) return 0;//这样的语句可以添在代码之间,这样可以及时的退出线程。
   ...
  
  }
  
}