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

C++ EnterCriticalSection簡(jiǎn)單使用

 更新時(shí)間:2021年08月17日 15:33:58   作者:ytouch  
線程鎖在多線程中可以控制線程的執(zhí)行順序,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

EnterCriticalSection作用

用途主要是在多線程中,當(dāng)開(kāi)啟多線程中,要控制函數(shù)的執(zhí)行順序時(shí),就需要用到它了,就是假如多個(gè)線程同時(shí)訪問(wèn)這個(gè)函數(shù)時(shí),需要控制執(zhí)行的順序,可以使用它去控制順序。

定義一個(gè)全局的鎖 CRITICAL_SECTION的實(shí)例

和一個(gè)靜態(tài)全局變量

  • CRITICAL_SECTION cs;//可以理解為鎖定一個(gè)資源
  • static int n_AddValue = 0;//定義一個(gè)靜態(tài)的全部變量n_AddValue實(shí)戰(zhàn)

一、首先是它的使用步驟:

//1.創(chuàng)建全局互斥量
CRITICAL_SECTION g_cs;

//2.初始化互斥量
InitializeCriticalSection(&g_cs);//必須添加,否則會(huì)報(bào)錯(cuò)

//3.進(jìn)入
EnterCriticalSection(&g_cs);

//4.離開(kāi)
LeaveCriticalSection(&g_cs);

二、示例代碼:

// DefDemo.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
//

#include "stdafx.h"
using namespace std;


CRITICAL_SECTION g_cs;

struct gParam
{
 int m;
 int n;
};

void WINAPI getMax(gParam * cur_Param)
{
 EnterCriticalSection(&g_cs);
 if (cur_Param->m > cur_Param->n)
 {
  cout << "MAX_VALUE:"<< cur_Param->m << endl;
 }
 else
 {
  cout << "MAX_VALUE:"<< cur_Param->n << endl;
 }
 LeaveCriticalSection(&g_cs);
 return;
}


int _tmain(int argc, _TCHAR* argv[])
{
 InitializeCriticalSection(&g_cs);
 gParam * cur_Param = new gParam;
 cur_Param->m = 2;
 cur_Param->n = 5;

 gParam * cur_NexParam = new gParam;
 cur_NexParam->m = 10;
 cur_NexParam->n = 2;
 CreateThread(nullptr,0,(LPTHREAD_START_ROUTINE)getMax,cur_Param,0,0);
 CreateThread(nullptr,0,(LPTHREAD_START_ROUTINE)getMax,cur_NexParam,0,0);
 system("pause");
 delete cur_Param;
 return 0;
}

運(yùn)行結(jié)果:

到此這篇關(guān)于C++ EnterCriticalSection簡(jiǎn)單使用的文章就介紹到這了,更多相關(guān)C++ EnterCriticalSection內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

谢通门县| 德昌县| 柞水县| 广州市| 东兰县| 东方市| 确山县| 万州区| 峡江县| 门头沟区| 包头市| 普定县| 广丰县| 七台河市| 红河县| 垦利县| 堆龙德庆县| 蓬安县| 兴和县| 闽清县| 岚皋县| 洛川县| 信阳市| 喀喇| 金湖县| 郧西县| 尉氏县| 和静县| 青神县| 揭东县| 昌宁县| 淮阳县| 张家港市| 三门峡市| 灌阳县| 涡阳县| 安图县| 伊宁县| 五河县| 聂拉木县| 江陵县|