当前位置: 首页 > article >正文

C++中critical section的使用

背景

阅读开源代码的时候,非常多的场合会看到EnterCriticalSection和LeaveCriticalSection成对的出现,它们是代表什么意思呢,为啥见到Enter就一定会有leave成对。

critical section是翻译是临界截面,临界区的意思。多线程间的通信有四个方法,包括临界区,互斥量,信号量,事件。我看了网上很多博客,似乎把critical section和互斥量搞混了,很多博客里说critical section是互斥量,准确来讲这是一个互斥变量不是互斥量。

临界区critical section和互斥体mutex的区别

  • windows都支持临界区和互斥体,linux只支持互斥体;

  • 互斥体可以用于对象进程间或线程间的互斥访问,可以理解为多进程的多线程互斥访问,但是临界区只能用于同一进程里线程间的互斥访问;

  • 互斥体是内核对象,在核态进行锁操作,速度慢;临界区是非内核对象,只在用户态进行锁操

http://www.lryc.cn/news/2416493.html

相关文章:

  • 高等数学学习笔记——第九十九讲——一阶线性微分方程组
  • 初学C语言以及C语言的常见概念
  • Sublime text 3最新注册码
  • Windows Installer Clean Up 软件正常卸载不了时,请它帮忙!
  • cocostudio使用基本要点汇总
  • AIS(自动识别系统)介绍
  • 【.NET】.NET 框架概述
  • fastDB个人使用心得
  • 进化算法——多目标优化
  • MNE溯源fieldtrip官网教程
  • JDK1.6安装详解、环境变量设置、测试安装及注意事项
  • leetcode Surrounded Regions 详解
  • java正则Matcher.matches()、Matcher.lookingAt()、Matcher.find()、 group()详解
  • 【实践】java.lang.Integer源码分析
  • CImage 从内存中读取图像
  • FileZilla Server简介及使用说明
  • 解决Adobe reader 8 突然打不开了并报许可协议的问题
  • 2023年【A特种设备相关管理(锅炉压力容器压力管道)】报名考试及A特种设备相关管理(锅炉压力容器压力管道)模拟考试题
  • vue 项目如何捕获awit 错误情况
  • 可行性分析与需求分析 —以图书馆管理系统为例
  • 破解密码的8种典型手段与防护建议
  • Linux service network服务重启失败及ping不通外网解决办法
  • linux 多媒体安装和使用
  • cnna词汇集(三)
  • CreateProcess失败返回错误代码998
  • 0x0000007B是什么意思?解决方案
  • 43张图详解计算机网络,看这一篇就够了
  • C语言中,事件对象(CreateEvent)、互斥对象(CreateMutex)、关键代码段(InitializeCriticalSection)
  • 量子通信和传统通信的对比分析
  • keil报错:Loading PDSC Debug Description failed for STMicroelectronics STM32Fxxxxxxx