windows 线程同步(线程同步windows平台)
windows 线程同步(线程同步windows平台)
2024-09-30 07:27:27  作者:大爱碎花  网址:https://m.xinb2b.cn/tech/gzo138137.html
一:介绍

临界区指的是一个访问共用资源(例:全局变量)的程序片段,该共用资源无法同时被多个线程访问的特性。有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。

临界区在使用时以CRITICAL_SECTION结构对象保护共享资源,并分别用EnterCriticalSection()和LeaveCriticalSection()函数去标识和释放一个临界区。所用到的CRITICAL_SECTION结构对象必须经过InitializeCriticalSection()的初始化后才能使用,而且必须确保所有线程中的任何试图访问此共享资源的代码都处在此临界区的保护之下。否则临界区将不会起到应有的作用,共享资源依然有被破坏的可能。

二:步骤创建临界区对象:CRITICAL_SECTION critical初始化临界区:InitializeCriticalSection(&critical)进入临界区:EnterCriticalSection(&critical)释放临界区:LeaveCriticalSection(&critical)三:代码实现

1 9 #include <iostream>10 #include <Windows.h>11 using namespace std;12 13 volatile int number = 1;14 CRITICAL_SECTION critical; //临界区句柄15 16 DWORD CALLBACK ThreadFun1(LPVOID pParam)17 {18 while (1)19 {20 EnterCriticalSection(&critical);21 cout << "Thread1:" << number << endl;22 if (number >= 1000)23 {24 break;25 }26 LeaveCriticalSection(&critical);27 }28 29 return 0;30 }31 32 DWORD CALLBACK ThreadFun2(LPVOID pParam)33 {34 while (1)35 {36 EnterCriticalSection(&critical);37 cout << "Thread2:" << number << endl;38 LeaveCriticalSection(&critical);39 if (number >= 1000)40 {41 break;42 }43 }44 return 0;45 }46 47 48 int main()49 {50 InitializeCriticalSection(&critical);51 CreateThread(NULL, 0, ThreadFun1, NULL, 0, NULL);52 CreateThread(NULL, 0, ThreadFun2, NULL, 0, NULL);53 54 getchar();55 return 1;56 }


  • 新经济营销策略(陆家嘴创投课)
  • 2024-09-30陆家嘴创投课Z世代消费群体(95后-00后)逐渐成为消费市场的主力军,他们逐渐显露出较为独特的消费观念和消费行为面对全新的市场格局,品牌方们需要为迎接这群未来的消费主力军,做好充分准备鉴于此,此次创投课我们邀请到。
  • 吸引人的卖房走心文案(这些卖房的营销文案)
  • 2024-09-30这些卖房的营销文案中国房地产行业蓬勃发展的幕后推手,除了丈母娘之外,夸张的营销文案也是功不可没壹哥2017年入手了一套长沙植物园旁的房子,就是被华丽的效果图和文案所打动,去年一交房,简直就是天上人间和地下农村的对比!所。
  • 6月1号后考驾照有啥变化(考驾照将迎来三个大变化)
  • 2024-09-30考驾照将迎来三个大变化所有想学车的人注意啦!留给你们顺利通过驾考的时间,可能只剩一个月了......因为之后将迎来暑假学车热潮,难度也会升级,魔鬼级驾考模式来袭!你可能会哭着说:教练......求你......我想要一本驾。
  • 最正宗的南沿村拉面馆(天河南这家深藏民居的拉面馆)
  • 2024-09-30天河南这家深藏民居的拉面馆各位粉丝朋友周末好,周末了有时候就想吃点不一样的,前阵子毛哥和大家吃了不少老广经典美食,今天我们稍微换换口味,来广州寻找一些比较有特色的地方美食吧由于广州是一个文化包容的大城市,在这里不仅能吃到丰富多。
  • 一到夏天手上起小水泡痒注意事项(一到夏季手上就长透明)
  • 2024-09-30一到夏季手上就长透明导读:到了夏季,很多人开始犯愁了,不是因为天气炎热,而是因为每到夏季手上就会冒出一颗颗比米粒稍小的透明小水泡,此起彼伏,而且还伴有瘙痒、灼痛,水泡破裂后还会蜕皮,最后导致手上褪掉一层一层的皮,整个过程。
  • 适合女生独处做的事(女生高质量独处可以做的10件小事)
  • 2024-09-30女生高质量独处可以做的10件小事我是向暖,点击上方“关注”,每天为你分享自媒体运营和成长干货私信我回复数字“05”,送你一份自媒体入门大礼包[比心]每天最期待的事就是按时下班、回家、吃晚饭,然后坐到书桌前开始做自己的事情,沉浸于这段。
  • 1.18.1服务器大全(黄河Huanghe2250V4服务器发布)
  • 2024-09-30黄河Huanghe2250V4服务器发布IT之家1月12日消息,黄河聚焦于国产化通用计算和AI计算的系列服务器、微型计算机及软硬一体解决方案随着兆芯新一代开胜KH-40000系列服务器处理器的推出,黄河发布了Huanghe2250V4服务器。
  • 2b的铅笔和普通铅笔有什么区别(没有铅为什么要叫)
  • 2024-09-30没有铅为什么要叫铅笔最常见的文具之一是我们读书识字开启学习生涯的第一位“战友”对于这位老朋友我们自然都知道铅笔芯的主要原材料是石墨那么你有过这个“灵魂”疑问吗?既然没有铅,为什么要叫“铅笔”???这还要从铅笔诞生的历。
  • 关于成长的句子摘抄(关于成长的句子有哪些)
  • 2024-09-30关于成长的句子有哪些也许你我皆是那刚刚成长的心灵,尤如破土的种子刚看到森林的茂盛但有一颗无畏的心,就能增添绿色葱葱成长是一曲刚健的歌谣走进田间地头,听拔节声声,走进森林旷野,听万籁和鸣噪动与喧腾,追逐与奋争,这就是成长的。
  • 二手房可以贷款吗(二手房能贷款吧?)
  • 2024-09-30二手房能贷款吧?二手房可以贷款二手房贷款是指购房人以在住房二级市场上交易的楼宇作抵押,向银行申请贷款,用于支付购房款,再由购房人分期向银行还本付息的贷款业务贷款是银行或其他金融机构按一定利率和必须归还等条件出借货币资。
  • 大染坊赵东初家境(看不起亲哥闹分家)
  • 2024-09-30看不起亲哥闹分家《大染坊》作为侯勇老师的成名作,凭借着其在剧中成功塑造的陈寿亭一角,不仅带给了观众一部经典的电视剧,也让不少喜爱商战片的朋友对剧中人物们的计谋津津乐道除了男主角之外,陈寿亭在济南期间的主要搭档——赵家。
  • 孕妇需要吃什么补充营养(孕妇要吃什么比较好)
  • 2024-09-30孕妇要吃什么比较好孕妇孕期每个阶段所需的营养都不一样,所以需要补充的也不一样,但不管哪个阶段都要多吃一些含维生素和高蛋白的食物,像是肉类、蛋类、各种新鲜的蔬菜和水果等孕妇孕期补充营养时建议孕早期多吃一些含叶酸的食物,如。