码迷,mamicode.com
首页 > 编程语言 > 详细

38 windows_38_thread_CriticalSection 线程-临界区

时间:2016-06-10 17:44:57      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

windows_38_thread_CriticalSection 线程-临界区

  1. // windows_38_thread_CriticalSection.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include "windows.h"
  5. CRITICAL_SECTION g_cs = { 0 };
  6. long g_nValue = 0;
  7. void Print( )
  8. {
  9. //进入临界区 - 加锁
  10. EnterCriticalSection( &g_cs );
  11. for (int i = 0; i < 10000000;i++)
  12. {
  13. g_nValue++;
  14. }
  15. printf( "Long long long ...Long long%ld\n",g_nValue );
  16. //离开临界区 - 解锁
  17. LeaveCriticalSection( &g_cs );
  18. }
  19. DWORD WINAPI PrintProc( LPVOID pWparam )
  20. {
  21. int i = 0;
  22. Print( );
  23. Sleep( 1 );
  24. return 0;
  25. }
  26. void Create( )
  27. {
  28. DWORD nThreadID = 0;
  29. HANDLE hThread[2] = { 0 };
  30. hThread[0] = CreateThread( NULL, 0, PrintProc, NULL, 0, &nThreadID );
  31. hThread[1] = CreateThread( NULL, 0, PrintProc, NULL, 0, &nThreadID );
  32. getchar( );
  33. }
  34. int _tmain(int argc, _TCHAR* argv[])
  35. {
  36. //初始化临界区
  37. InitializeCriticalSection( &g_cs );
  38. Create( );
  39. //删除临界区
  40. DeleteCriticalSection( &g_cs );
  41. return 0;
  42. }





38 windows_38_thread_CriticalSection 线程-临界区

标签:

原文地址:http://www.cnblogs.com/nfking/p/5573919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!