线程操作相关

 

  
  
  
  
  1. #include <Windows.h> 
  2. #include <stdio.h> 
  3. #include <tchar.h> 
  4.  
  5.  
  6. DWORD WINAPI ThreadProc(LPVOID lpParam); 
  7.  
  8. DWORD WINAPI ThreadProc(LPVOID lpParam){ 
  9.     LPDWORD lpData; 
  10.     DWORD i = 0; 
  11.     lpData = (LPDWORD)lpParam; 
  12.     for(i=0;i<10;i++){ 
  13.     printf("TID = %u,\t Parameter = %u\ti=%u\n",GetCurrentThreadId(),*lpData,i); 
  14.     } 
  15.     ExitThread(i); 
  16.     return 0; 
  17.  
  18. INT main(void){ 
  19.     DWORD dwData; 
  20.     DWORD dwThreadId[2]; 
  21.     HANDLE hThread[2]; 
  22.  
  23.     dwData = 1; 
  24.  
  25.     hThread[0] = CreateThread(NULL,0,ThreadProc,&dwData,CREATE_SUSPENDED,&dwThreadId[0]); 
  26.  
  27.     if(hThread[0] == NULL){ 
  28.         ExitProcess(0); 
  29.     } 
  30.  
  31.     dwData = 2; 
  32.  
  33.     hThread[1] = CreateThread(NULL,0,ThreadProc,&dwData,0,&dwThreadId[0]); 
  34.  
  35.     if(hThread[1] == NULL){ 
  36.         ExitProcess(0); 
  37.     } 
  38.     Sleep(200); 
  39.     ResumeThread(hThread[0]); 
  40.     SuspendThread(hThread[1]); 
  41.     Sleep(300); 
  42.     TerminateThread(hThread[0],0); 
  43.     ResumeThread(hThread[1]); 
  44.  
  45.     WaitForMultipleObjects(2,hThread,TRUE,INFINITE); 
  46.     CloseHandle(hThread[0]); 
  47.     CloseHandle(hThread[1]); 
  48.  
  49.     system("pause"); 
  50.     return 0; 

 

你可能感兴趣的:(线程,职场,sdk,休闲)