_beginthreadex和_endthredex实例

来源:互联网 发布:python 股票图 编辑:程序博客网 时间:2024/06/15 11:37

Create/EndThread是Win32方法开始/结束一个线程

_beginthreadx/_endthreadex是C RunTime方式开始/结束一个线程

AfxBeginThread在MFC中开始/结束一个线程

在msdn中这样的例子:  
  是关于_beginthreadex的  
  //   crt_begthrdex.cpp  
  //   compile   with:   /MT  
  #include   <windows.h>  
  #include   <stdio.h>  
  #include   <process.h>  
   
  unsigned   Counter;    
  unsigned   __stdcall   SecondThreadFunc(   void*   pArguments   )  
  {  
          printf(   "In   second   thread...\n"   );  
   
          while   (   Counter   <   1000000   )  
                  Counter++;  
   
          _endthreadex(   0   );  
          return   0;  
  }    
   
  int   main()  
  {    
          HANDLE   hThread;  
          unsigned   threadID;  
   
          printf(   "Creating   second   thread...\n"   );  
   
          //   Create   the   second   thread.  
          hThread   =   (HANDLE)_beginthreadex(   NULL,   0,   &SecondThreadFunc,  NULL,   0,   &threadID   );   //NULL表示无传递参数
    
          //   Wait   until   second   thread   terminates.   If   you   comment   out   the   line  
          //   below,   Counter   will   not   be   correct   because   the   thread   has   not  
          //   terminated,   and   Counter   most   likely   has   not   been   incremented   to  
          //   1000000   yet.  
          WaitForSingleObject(   hThread,   INFINITE   );  
          printf(   "Counter   should   be   1000000;   it   is->   %d\n",   Counter   );  
          //   Destroy   the   thread   object.  
          CloseHandle(   hThread   );  
  }

原创粉丝点击