windows 线程同步(线程同步windows平台)
windows 线程同步(线程同步windows平台)
2024-11-22 03:07:57  作者:大爱碎花  网址:https://m.xinb2b.cn/life/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请将电脑窗口颜色设置成护眼色在使用电脑工作和学习的过程中,许多时候对着显示器编辑文档就是一整天,而大多数软件的背景色都是纯白,看的时间长了,眼睛就会感到干涩,难受长时间这样工作,还会造成视力下降,过度疲劳等现象那么如何在大量处理。
  • 女朋友对我冷淡要怎么办(女朋友一直很冷淡怎么办)
  • 2024-11-22女朋友一直很冷淡怎么办你说的冷淡,我想大概就是,你发信息给你女朋友,她很少回复,甚至不回打电话很少接,甚至不接以前我也是这种情况但是,你要清楚每个人都有自己的生活她能和你相处说明她是喜欢你的当然,也有可能你是个备胎我来说说。
  • 司机工作业绩怎么写(你知道吗)
  • 2024-11-22你知道吗在这一年里能够自觉遵守交通法规和单位的规章制度,能够在工作中任劳任怨,对车子做到每日的三检查(出车前、行车中、收车后),做到耐心细致,按期保养车子,不让车子带病工作,保证了车子的性能,保持平衡稳定的良。
  • 疯狂动物城各动物代表(疯狂动物城里的动物如此萌)
  • 2024-11-22疯狂动物城里的动物如此萌钛媒体TMTPost.comTMT|创新|创业钛度要点:因为用了这些技术,在《疯狂动物城》里的一只沙鼠拥有的毛发都比《冰雪奇缘》里的公主多,所以那些动物都看起来萌萌哒无论你是否已经看过了当下最火的动画。
  • 三生有幸遇见你合集讲解(三生有幸遇见你)
  • 2024-11-22三生有幸遇见你#三生有幸遇上你征文#不知不觉中,2021年已经接近尾声了,每每到这个时期,都是影视剧上映的黄金时期,在这最后一个月影视圈也显得颇为忙碌,各大平台纷纷拿出自己的重磅头戏,一个又一个热播剧接连上映,引起。
  • 老子的道法自然什么意思(我读道德经你听说过)
  • 2024-11-22我读道德经你听说过它出自《道德经》第25章,请认真阅读完以下内容,一定能有所收获,至少能引发新的思考!【原文】有物混成,先天地生寂兮寥兮,独立不改,周行而不殆,可以为天下母吾不知其名,强字之曰“道”,强为之名曰“大”大。
  • 从第一季到第四季解析(老牌IP废柴兄弟如何打破季播魔咒)
  • 2024-11-22老牌IP废柴兄弟如何打破季播魔咒文│红豆网剧经过疯狂的IP大乱斗,终于清醒意识到内容为王、原创为主的重要性做让人耳目一新的网剧比翻拍各类IP显得勇气可嘉,诚意立现而那些优质的原创IP,无论谁都希望它们能一直保持生命活力在国内制播分离。
  • 土命人需要注意什么(土命人应该注意的事项)
  • 2024-11-22土命人应该注意的事项土命人,土值春季时,上裔如脉隆起,万物饱含生意,木气发泄,前竹所说的木病于寅死于墓于辰,的确足符原闪的雨天闪阴气凝结,土地湿透芽苞不能舒展,晗天则使冻释阳和从而生机发达所以春季的上一接触阳气,便能发宵。
  • 早已习惯了流泪(早就已经习惯了)
  • 2024-11-22早就已经习惯了“我习惯了”“我早就习惯了”“没事,我习惯了”我知道这些话背后,都是无奈与期待对现实无法改变的无奈,对不得不接受的现实而无奈,对这些不得不接受的事情选择接受,但是背后还有一种潜意识的期待说了“我习惯了。
  • 星星带给我们的人生启示(什么才是真正的因材施教)
  • 2024-11-22什么才是真正的因材施教老师有爱心的辅导孩子一瞬间在笑和泪的伴随下看完了这一步印度电影《地球上的星星》,作为一名艺术教师,我深深的被里面讲述的内容吸引,同时也被沉重的震撼到了,突然就在一瞬间明白了这句话的真正含义:“世界上从。
  • 锁清秋剧情介绍(电视剧内容介绍)
  • 2024-11-22电视剧内容介绍《锁清秋》讲述了清朝末年发生在平安镇的故事锁清秋剧情介绍:故事发生在清朝末年,兰嫣(安以轩饰)因不满父亲新娶了妻子玉奴(赵子琪饰)而心结难消,下人冷云(何晟铭饰)一直耐心的安慰和开导兰嫣之后,虽然玉奴。