34 windows_34_Thread_Base 线程基础

 windows_34_Thread_Base 线程基础

  1. // windows_34_Thread_Base.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include <windows.h>
  5. #include <conio.h>
  6. //1、定义线程处理函数
  7. //ThreadProc
  8. DWORD WINAPI ThreadProc1( LPVOID pParam)
  9. {
  10. DWORD nValue = (DWORD)pParam;
  11. int i = 0;
  12. while (i<10)
  13. {
  14. i++;
  15. printf( "Thread Proc1---------%d\n", nValue );
  16. Sleep( 1000 );
  17. }
  18. return 0;
  19. }
  20. DWORD WINAPI ThreadProc2( LPVOID pParam )
  21. {
  22. DWORD nValue = (DWORD)pParam;
  23. while (1)
  24. {
  25. printf( "%d---------Thread Proc2\n", nValue );
  26. Sleep( 1000 );
  27. }
  28. }
  29. void Create( )
  30. {
  31. DWORD nValue = 100;
  32. //2、创建线程
  33. //CreateThread
  34. DWORD nThreadID = 0;
  35. HANDLE hThread = CreateThread( NULL, 0, ThreadProc1, (LPVOID)nValue, CREATE_SUSPENDED, &nThreadID );
  36. //3、使用线程
  37. printf( "Thread 1 ID:%d\n", nThreadID );
  38. printf( "Thread 1 Handle:%p\n", hThread );
  39. //执行线程
  40. ResumeThread( hThread );
  41. //等候线程结束
  42. WaitForSingleObject( hThread, INFINITE );
  43. //4、结束线程
  44. hThread = CreateThread( NULL, 0, ThreadProc2, (LPVOID)nValue, 0, &nThreadID );
  45. printf( "Thread 2 ID:%d\n", nThreadID );
  46. printf( "Thread 2 Handle:%p\n", hThread );
  47. //挂起线程
  48. SuspendThread( hThread );
  49. ResumeThread( hThread );
  50. CloseHandle( hThread );
  51. }
  52. int _tmain(int argc, _TCHAR* argv[])
  53. {
  54. Create( );
  55. getchar( );
  56. return 0;
  57. }





posted @ 2016-06-10 13:13  -刀狂剑痴-  阅读(221)  评论(0编辑  收藏  举报