码迷,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
迷上了代码!