函数 EnterCriticalSection 声明如下:

WINBASEAPI
VOID
WINAPI
EnterCriticalSection(
__inout LPCRITICAL_SECTION lpCriticalSection
);
是多线程中用来确保同一时刻只有一个线程操作被保护的数据的操作函数,相关的多线程数据操作函数还有:

使用流程:
CRITICAL_SECTION cs;//定义一个临界区
InitializeCriticalSection(&cs);//初始化临界区
EnterCriticalSection(&cs);//进入临界区/加锁
//操作数据
MyMoney*=10;//所有访问MyMoney变量的程序都需要这样写Enter… Leave…
LeaveCriticalSection(&cs);//离开临界区/解锁
DeleteCriticalSection(&cs);//删除临界区

要注意的是:临界区是用在多线程保护一个线程安全的,所以同一线程内部,多次执行EnterCriticalSection是可以的,但是如果线程退出时,不能及时LeaveCriticalSection或者加锁和解锁的次数不匹配,其他线程都无法使用此临界区。

EnterCriticalSection讲解相关推荐

  1. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  2. 详细通俗重点CRF层讲解

    本文翻译自GitHub博客上的原创文章,结尾有原文链接.文章没有晦涩的数学公式,而是通过实例一步一步讲解CRF的实现过程,是入门CRF非常非常合适的资料. 相关项目代码: BERT-BiLSMT-CR ...

  3. 高级数据结构讲解与案例分析

    然而,仅仅掌握好它们不足以应付大厂的算法面试的.为了达到对时间和空间复杂度的理想要求,本节课探究高级数据结构,它们的实现要比那些常用的数据结构要复杂得多.其中重点介绍: 优先队列 图 前缀树 线段树 ...

  4. php 伪静态 page-18.html,PHP 伪静态实现技术原理讲解

    PHP 伪静态实现技术原理讲解 发布于 2015-01-18 23:52:58 | 129 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pre ...

  5. ssm开发框架原理_SSM 单体框架 - 前端开发:视频讲解

    视频讲解 知乎视频​www.zhihu.com 知乎视频​www.zhihu.com 知乎视频​www.zhihu.com 知乎视频​www.zhihu.com 知乎视频​www.zhihu.com ...

  6. python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)

    前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些东西已经有了,不妨直接去 github 上搜,用 ...

  7. PCL:k-d tree 1 讲解

    1.简介 kd-tree简称k维树,是一种空间划分的数据结构.常被用于高维空间中的搜索,比如范围搜索和最近邻搜索.kd-tree是二进制空间划分树的一种特殊情况.(在激光雷达SLAM中,一般使用的是三 ...

  8. 基础矩阵,本质矩阵,单应性矩阵讲解

    ORB-SLAM点云地图中相机的位姿初始化,无论算法工作在平面场景,还是非平面场景下,都能够完成初始化的工作.其中主要是使用了适用于平面场景的单应性矩阵H和适用于非平面场景的基础矩阵F,程序中通过一个 ...

  9. 藤摇椅游戏道具制作全流程讲解视频教程

    藤摇杆|一个完整的游戏资产工作流程 MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 含工程素材 语言:英语+中文字幕(根据原英文字幕机译更准确)+原英文字幕 | ...

最新文章

  1. java sslsocket程序_JAVA与C++进行sslsocket通信,JAVA做服务端或客户端
  2. 文本分类中的一些小问题
  3. 工作中linux定时任务的设置及相关配置
  4. [patl2-018]多项式A除以B
  5. JZOJ 4366. 【GDKOI2016】项链
  6. 【牛客 - 21302】被3整除的子序列(线性dp)
  7. 修复IE下相对容器中绝对定位Bug
  8. 服务器多路径 映射分区找不到,设备映射多路径DM-Multipath
  9. C语言 位段(位域)总结
  10. 《重构HTML改善Web应用的设计》读书笔记
  11. vba 生成euc文件的方法
  12. Atitit 高等教育 中产教育 普通教育的异同 目录 1. 顶层精英教育 1 1.1. 领导力 影响力 1 1.2. 国王规范 1 1.3. 宗教领袖 1 1.4. 决策能力 1 1.5. 国际视
  13. top conference in AI
  14. QT集成Windows手写输入法
  15. BUUCTF刷题记录(持续更新中~)
  16. android之DEX文件格式
  17. matplotlib折线图(标记点、标记点大小、标记点边颜色、标记点边宽)
  18. 幼儿园案例经验迁移_浅谈在幼儿园数学教学中如何为迁移而教
  19. 哈工大计算机网络考研题,哈工大计算机考研历年复试试题(完全版).PDF
  20. 水星mac1300r虚拟服务器,水星(MERCURY)MAC1300R路由器用手机怎么设置?

热门文章

  1. 【OSG】将显示的图形窗口化
  2. FLO 文件处理方式
  3. 分治法、动态规划法、回溯法、贪心法简单叙述
  4. 怦然然心栋—beta冲刺
  5. 【Matlab学习手记】偏最小二乘回归
  6. Lua: attempt to call method ‘xxxx‘ (a nil value)
  7. 连马云都自愧不如 真正的草根创业者
  8. Qt使用QAxWidget调用Windows组件记录
  9. 《HelloGitHub》第 85 期
  10. AI技不如人 Siri表现差 为补短板苹果挖完谷歌挖惠普