void func1{//加写锁//todo some thing//释放写锁
}void func2{//加写锁//todo some thing //释放写锁
}void func{func1();//todo some thingfunc2();
}

对于多线程并行调用func()而言,func函数实现就有问题,会导致业务乱序,不可用。

原因是:
假若A线程执行func1时先获取到写锁,等释放写锁时,B线程执行func1,获取到写锁,
那么A线程执行func2时,就得等待B线程释放写锁。
总结:能一次进临界区的时候,不要多次进。

能一次进临界区的时候,不要多次进入相关推荐

  1. 进临界区(关全局中断)是否会影响数据的接收?

    在嵌入式的编程中,经常会使用嵌入式实时操作系统,比如FreeRTOS,RTT等. 而在使用这些操作系统时,会有一个临界区的概念,一般操作是 1,进入临界区: 2,操作不能被线程打断的语句: 3,退出临 ...

  2. freeRtos学习笔(3)临界区管理

    freeRtos学习笔记 freeRtos临界区管理 freeRtos临界区 代码的临界段也称为临界区,一旦这部分代码开始执行,则不允许任何中断打断.为确保临界段代码的执行不被中断,在进入临界段之前须 ...

  3. 临界资源、临界区、信号量、P,V操作

    一.资源: Linux上有硬件资源和软件资源之分.程序会受到资源限制的影响,可能在这几方面的资源限制受到影响:1.硬件方面的物理性限制(内存):2.系统策略的限制(允许使用的CPU时间):3.具体实现 ...

  4. DllMain中不当操作导致死锁问题的分析--导致DllMain中死锁的关键隐藏因子2

    本文介绍使用Windbg去验证<DllMain中不当操作导致死锁问题的分析--导致DllMain中死锁的关键隐藏因子>中的结论,调试对象是文中刚开始那个例子.(转载请指明出于breakso ...

  5. 面试官:说说Java中的信号量?Semaphore

    Semaphore (信号量)是由计算机科学家Dijkstra在1965年提出的,广泛应用不同的操作系统,在管程提出之前信号量就是并发编程领域的霸主!几乎所有并发的语言都支持信号量机制. Semaph ...

  6. 操作系统中的P-V操作(转)

    信号量是最早出现的用来解决进程同步与互斥问题的机制(也可实现进程通信),包括一个称为信号量的变量及对它进行的两个原语操作.信号量为一个整数,我们设这个信号量为:sem.很显然,我们规定在sem大于等于 ...

  7. 操作系统pv操作学习总结

    PV操作 PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思. 目录 1 简介 2 详细资料 3 解释 ▪ 信号量的概念 ▪ 典型理解偏差 简介 1962年,狄克斯特拉离开数学中心进入位于 ...

  8. 进程和线程(通信方式)、调度算法(6种)

    1.进程 (https://www.cnblogs.com/tianlangshu/p/5224178.html) 一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度运 ...

  9. Pixhawk之姿态控制篇

    一.开篇 姿态控制篇终于来了.来了.来了~~~ 心情爽不爽?愉悦不愉悦?开心不开心? 喜欢的话就请我吃顿饭吧,哈哈. 其实这篇blog一周前就应该写的,可惜被上一篇blog霸占了.但是也不算晚,整理了 ...

最新文章

  1. 江南大学人工智能与计算机学院拟录取名单,江南大学人工智能与计算机学院关于接收2021级硕士研究生调剂的通知...
  2. ucontext族函数的使用及原理分析
  3. Scala入门到精通——第二十二节 高级类型 (一)
  4. java面试题35 给定以下JAVA代码,这段代码运行后输出的结果是()
  5. javascript简易缓动插件
  6. 基于ssm的图书馆预约占座系统 java mysql
  7. GB/T 7714-2005《文后参考文献著录规则》(精简)
  8. wps怎么将字体变得很大_wps如何将字体无限放大
  9. photoshop保存里没有html,PS中为什么没有存储为web格式?
  10. 电脑看斗鱼html5卡,win10浏览器观看斗鱼卡怎么修复_win10浏览器打开斗鱼卡死如何解决...
  11. 图灵奖得主Yann LeCun的六十年
  12. 动画专业考一级计算机选什么语种,学校和专业如何选择?学连接32个国家的金牌语种,做国家稀缺的复合型人才!...
  13. 2019-12-21(98)
  14. 科技感满满 《复联3》灭霸原来是这样做出来的
  15. F5在K8S环境下的4、7层应用统一发布
  16. java拼接byte[]数组
  17. NiFi Processors之ReplaceText
  18. 微信小程序 多个商品 30分钟倒计时
  19. 智能电动牙刷方案有哪些儿童电动牙刷u形型具体怎么做?
  20. Intro.js 分步向导插件使用方法 1

热门文章

  1. win7个人计算机的ip地址,Win7查看ip地址命令_Win7怎么查看自己电脑ip地址?-192路由网...
  2. 模拟幅度调制相干解调系统抗噪声性能仿真分析-python实现
  3. ufs 固态硬盘_何必羡慕SSD?UFS3.0闪存让手机比PC还快!
  4. 苯酚丙酮装置类型和重大部分设备说明
  5. (二)基于Multisim的超外差接收系统:混频器的设计
  6. UE中FRotator和Pitch(Roll,Yaw)以及相对朝向的关系
  7. 中兴NFC手机无法读应用问题
  8. win10 c语言语音朗读,win10怎么使用语音朗读?win10开启语音播报讲述人的办法
  9. 图像 - 识别出图片里的数字和字母
  10. 黑马旅游网完整代码_JavaWeb黑马旅游网 视频 下载