windows 线程同步(线程同步windows平台)
windows 线程同步(线程同步windows平台)
2024-11-22 04:02:55  作者:大爱碎花  网址:https://m.xinb2b.cn/know/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-11-22注册会计师是什么符合以下条件,可报名参加注会专业阶段考试:具有完全民事行为能力,具有高等专科以上学校毕业学历,或者具有会计或者相关专业中级以上技术职称注册会计师,是指通过注册会计师执业资格考试并取得注册会计师证书在会。
  • 100部经典dvd碟片(电影经典DVD碟片赏析)
  • 2024-11-22电影经典DVD碟片赏析【电影】经典DVD碟片赏析:99部经典碟片回顾与推荐(二)影音CN导读:在《家庭影院技术杂志》本期二十周年特刊以及微信公众号平台上,我们将向大家介绍这二十年间99部经典碟片,其中DVD、蓝光碟、4K蓝。
  • 一个人要生活好需要的能力有哪些(若能具备这三种)
  • 2024-11-22若能具备这三种文/把酒谈历史“生命的初衷不是为了超越他人,而是为了超越自己”,许多人在年轻时总是满腔热血,对于那些未知的领域充满着好奇心,想去尝试不会太过于在意结果如何,哪怕头破血流也甘之如始没有谁的生活是一帆风顺。
  • 骑自行车的六大好处(骑自行车有什么好处)
  • 2024-11-22骑自行车有什么好处缓解压力,如果平时觉得压力比较大,选择骑自行车会是不错的方式,不仅可以呼吸口清新的空气,沿途还能欣赏到许多美丽的风景大脑变得更加活跃,在骑自行车的时候,需要时刻关注周边的环境,久而久之就能让大脑变得更。
  • 内蒙古目前高铁线路(一趟Z字形动车运行线)
  • 2024-11-22一趟Z字形动车运行线(头条号“一千零一眼”原创作品,欢迎大家关注、评论、分享,谢谢)在乘车人看来,无论是坐动车还是普速火车,都希望自己行进的路线是直的直的乘车路线,相比较那些弯弯绕绕的线路来说,不仅距离短,票价还便宜高铁。
  • 夏天的诗句及其翻译(古人的消夏诗)
  • 2024-11-22古人的消夏诗民谚云:“冷在三九,热在三伏”眼下,正是热浪滔滔、溽热难当的三伏天古时候是没有电的,更没有现代人享用的空调、电扇等设备所带来的的清凉世界,那么古人是如何度夏避暑的?我们从古代文人雅士在山野在竹林在水滨。
  • 新《粉红女郎》官宣(新粉红女郎将开播)
  • 2024-11-22新粉红女郎将开播女性群像剧是最近的大热门,网友们喜欢看个性独立鲜明的女主角,不喜欢看以前那种傻白甜、只会惹事情的女主角我国影视剧市场缺少一位好编剧,于是就有不少人翻拍经典老剧,有了《鹿鼎记》翻车的例子还不够,新版的《。
  • 烤红薯对身体有什么坏处(街边的烤红薯会致癌)
  • 2024-11-22街边的烤红薯会致癌据科普中国消息,蒸红薯、烤红薯、空气炸锅红薯、红薯粥、红薯饼……这些有没有你的最爱呀?红薯可是我们餐桌上的常见食材,甜蜜软糯,很多人都特别爱吃在我们东北快入冬的时候,家家户户都是成箱的囤红薯,几乎能吃。
  • 家居好看的垃圾桶(城市户外家具中)
  • 2024-11-22城市户外家具中公共垃圾桶是一种公共设施、用于盛放垃圾和废弃物,常放置于公园、小区、学校,等户外公共场所垃圾桶的种类有很多,有钢木垃圾桶、果皮箱垃圾桶、镀锌板垃圾桶、金属垃圾桶、不锈钢垃圾桶等、木质垃圾桶、玻璃钢垃圾。
  • 擦爽身粉可以预防痱子吗(强生爽身粉致22人患癌)
  • 2024-11-22强生爽身粉致22人患癌没用,反倒有害,太糟心,这就是很多人爱用的爽身粉!据路透社7月13日消息,美国密苏里洲一地方法院陪审团判定:22名女性因使用强生滑石粉产品(包括强生婴儿爽身粉)患上癌症,其中6名因癌去世强生公司需为此。
  • 思练镇乡村振兴的目标(思南县张家寨镇)
  • 2024-11-22思南县张家寨镇走进贵州省思南县张家寨镇各村田间地头、农家农户,一派“巾帼心向党·建功新时代”的生动画面尽收眼底近年来,该镇女青年干部围绕中心服务大局,积极投身乡村振兴工作中,用辛勤的汗水在美丽乡村路上写下了浓墨重彩。