最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++使用CriticalSection實(shí)現(xiàn)線程同步實(shí)例

 更新時(shí)間:2014年10月10日 10:14:03   投稿:shichen2014  
這篇文章主要介紹了C++使用CriticalSection實(shí)現(xiàn)線程同步實(shí)例,是使用CriticalSection對(duì)前文實(shí)例的擴(kuò)展,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C++使用CriticalSection實(shí)現(xiàn)線程同步的方法,在前文C++線程同步實(shí)例分析的基礎(chǔ)上增加了四行代碼,使用了四個(gè)函數(shù):
EnterCriticalSection ::DeleteCriticalSection ::EnterCriticalSection ::LeaveCriticalSection此時(shí),打印出來的數(shù)字就相等了。

具體代碼如下:

#include "stdafx.h" 
#include <Windows.h> 
 
DWORD g_cnt1; 
DWORD g_cnt2; 
BOOL g_bContinue = TRUE; 
CRITICAL_SECTION cs; 
 
DWORD WINAPI ThreadProc(__in LPVOID lpParameter) 
{ 
  ::EnterCriticalSection(&cs); 
  while(g_bContinue) 
  { 
    g_cnt1++; 
    g_cnt2++; 
  } 
  ::LeaveCriticalSection(&cs); 
  return 0; 
} 
 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
  HANDLE hThread[2]; 
  g_cnt1 = g_cnt2 = 0; 
  ::InitializeCriticalSection(&cs); 
 
  hThread[0] = ::CreateThread(NULL, 0, ThreadProc, NULL, 0, NULL); 
  hThread[1] = ::CreateThread(NULL, 0, ThreadProc, NULL, 0, NULL); 
 
  Sleep(1000); 
  g_bContinue = FALSE; 
  ::WaitForMultipleObjects(2, hThread, TRUE, INFINITE); 
  printf("g_cnt1=%d\n",g_cnt1); 
  printf("g_cnt2=%d\n",g_cnt2); 
 
  ::DeleteCriticalSection(&cs); 
 
  ::CloseHandle(hThread[0]); 
  ::CloseHandle(hThread[1]); 
  return 0; 
}

希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C語言數(shù)據(jù)結(jié)構(gòu)不掛科指南之線性表詳解

    C語言數(shù)據(jù)結(jié)構(gòu)不掛科指南之線性表詳解

    線性表是由?n(n≥0)個(gè)數(shù)據(jù)元素組成的有窮序列,這篇文章主要來和大家來了C語言數(shù)據(jù)結(jié)構(gòu)中的線性表,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-09-09
  • C++ 字符串去重排序?qū)嵗a

    C++ 字符串去重排序?qū)嵗a

    這篇文章主要介紹了C++ 字符串去重排序?qū)嵗a的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C語言庫函數(shù)strcpy的使用及模擬實(shí)現(xiàn)

    C語言庫函數(shù)strcpy的使用及模擬實(shí)現(xiàn)

    本文主要介紹了C語言庫函數(shù)strcpy的使用及模擬實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • C++基于EasyX實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    C++基于EasyX實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C++基于EasyX實(shí)現(xiàn)簡(jiǎn)單掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++實(shí)現(xiàn)LeetCode(199.二叉樹的右側(cè)視圖)

    C++實(shí)現(xiàn)LeetCode(199.二叉樹的右側(cè)視圖)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(199.二叉樹的右側(cè)視圖),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言中“不受限制”的字符串函數(shù)總結(jié)

    C語言中“不受限制”的字符串函數(shù)總結(jié)

    這篇文章主要給大家總結(jié)介紹了C語言中一些“不受限制”的字符串函數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C語言冒泡排序超全面實(shí)現(xiàn)流程

    C語言冒泡排序超全面實(shí)現(xiàn)流程

    算法中排序是十分重要的,而每一個(gè)學(xué)習(xí)計(jì)算機(jī)的都會(huì)在初期的時(shí)候接觸到這種排序,下面這篇文章主要給大家介紹了關(guān)于c語言冒泡排序的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • C語言的Struct Hack筆記

    C語言的Struct Hack筆記

    這篇文章主要介紹了C語言的Struct Hack例子,個(gè)人的一篇筆記,需要的朋友可以參考下吧
    2014-04-04
  • 面試常見問題之C語言與C++的區(qū)別問題

    面試常見問題之C語言與C++的區(qū)別問題

    在C中,用static修飾的變量或函數(shù),主要用來說明這個(gè)變量或函數(shù)只能在本文件代碼塊中訪問,而文件外部的代碼無權(quán)訪問,今天重點(diǎn)給大家介紹面試中常見的C語言與C++區(qū)別的問題,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • VS2019中CMake項(xiàng)目如何指定c++語言標(biāo)準(zhǔn)

    VS2019中CMake項(xiàng)目如何指定c++語言標(biāo)準(zhǔn)

    這篇文章主要介紹了VS2019中CMake項(xiàng)目如何指定c++語言標(biāo)準(zhǔn),需要的朋友可以參考下
    2020-02-02

最新評(píng)論

内丘县| 民县| 凤山市| 运城市| 郑州市| 汤原县| 景洪市| 民乐县| 顺义区| 青阳县| 宜都市| 错那县| 南充市| 南华县| 新兴县| 霞浦县| 襄汾县| 凤山市| 邛崃市| 子长县| 政和县| 绥化市| 鄂托克前旗| 镇安县| 普兰店市| 三河市| 霍山县| 鸡东县| 若羌县| 绥阳县| 永州市| 保亭| 盈江县| 东阳市| 施秉县| 江阴市| 阜康市| 阿巴嘎旗| 息烽县| 容城县| 北宁市|