原子性

  • 原子性是指一个操作是不可中断的,要么全部执行成功要么全部执行失败。是一种独立不可分割的操作,不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。

临界资源、临界区

  • 临界资源:是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件:打印机,磁带机等;属于临界资源的软件:消息队列,变量,数组,缓冲区等。各个进程间采取互斥访问的方式,实现对这种资源的共享。
  • 临界区:每个进程中访问临界资源的那段代码,每次只允许一个进程进入临界区,进入后,不允许其他进程进入。不论是硬件临界资源还是软件临界资源,多个进程涉及到同一个临界资源的临界区都称为相关临界区。使用临界区时,一般不允许其运行时间过长,只要运行在临界区的线程还没离开,其他所有进入此临界区的线程都会被挂起而进入等待状态,并在一定程度上影响程序的运行性能。

 差异

  • 临界资源是一种系统资源,需要不容进程互斥访问,而临界区则是每个进程中访问临界资源的一段代码,是属于对应进程的,临界区前后需要设置进入区和退出区以进行检查和恢复。临界区和临界资源是不同的临界资源必须是互斥访问的,这种资源同时只能被一个进程所使用,但需要这种资源的进程不止一个,因此需要对使用临界资源的进程进程管理。
  • 临界区代码由于要访问临界资源,因此在进入临界区之前,也就是在执行临界区代码之前,需要进行检查,至于每个进程对临界资源进行怎样的操作,这和临界资源以及互斥同步管理是无关的,例如,磁带机是明显的临界资源,有两个进程A、B都要对其进行操作,A要写磁带前半部分,B要读磁带后部分,这两个进程对磁带操作的部分就是这两个进程各自的临界区,不能同时执行,但内容是不相同的,不可认为临界资源相同,访问这些资源的代码也是相同的。

一文弄懂原子性、临界区、临界资源相关推荐

  1. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  2. 一文弄懂神经网络中的反向传播法

    最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进 ...

  3. 一文弄懂各种loss function

    有模型就要定义损失函数(又叫目标函数),没有损失函数,模型就失去了优化的方向.大家往往接触的损失函数比较少,比如回归就是MSE,MAE,分类就是log loss,交叉熵.在各个模型中,目标函数往往都是 ...

  4. 一文弄懂神经网络中的反向传播法——BackPropagation【转】

    本文转载自:https://www.cnblogs.com/charlotte77/p/5629865.html 一文弄懂神经网络中的反向传播法--BackPropagation 最近在看深度学习的东 ...

  5. 一文弄懂String的所有小秘密

    文章目录 简介 String是不可变的 传值还是传引用 substring() 导致的内存泄露 总结 一文弄懂String的所有小秘密 简介 String是java中非常常用的一个对象类型.可以说ja ...

  6. 一文弄懂EnumMap和EnumSet

    文章目录 简介 EnumMap 什么时候使用EnumMap EnumSet 总结 一文弄懂EnumMap和EnumSet 简介 一般来说我们会选择使用HashMap来存储key-value格式的数据, ...

  7. CAD2010 为了保护_一文弄懂,锂电池的充电电路,以及它的保护电路方案设计

    原标题:一文弄懂,锂电池的充电电路,以及它的保护电路方案设计 锂电池特性 首先,芯片哥问一句简单的问题,为什么很多电池都是锂电池? 锂电池,工程师对它都不会感到陌生.在电子产品项目开发的过程中,尤其是 ...

  8. deque stack java_一文弄懂java中的Queue家族

    简介 java中Collection集合有三大家族List,Set和Queue.当然Map也算是一种集合类,但Map并不继承Collection接口. List,Set在我们的工作中会经常使用,通常用 ...

  9. 一文弄懂Flink网络流控及反压

    一文弄懂Flink网络流控及反压 1. 为什么需要网络流控? 2. 网络流控的实现:静态限速 3. 网络流控的实现:动态反馈/自动反压 3.1 案例一:Storm 反压实现 3.2 案例二:Spark ...

最新文章

  1. 斐波那契算法举例(iterative Fibonacci algorithm)
  2. python处理数据的优势-Python语言的七大优势
  3. Longest X 贪心,滑动窗口,前缀和(400)
  4. ELK学习7_ELK文档资料:《ELK stack 权威指南/饶琛琳》勘误
  5. 浏览器输入域名网址访问后的过程详解
  6. Fibonacci Tree HDU - 4786——解题报告
  7. 简记模态对话框和非模态对话框
  8. 窄带语谱图c语言算法,MELP语音编码算法实现及算法改进
  9. 最优化学习笔记(四)——最速下降法
  10. 20 Alarms, sigaction(), and Reentrant System Calls
  11. 电流感应电阻器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  12. map怎么转化dto_阿里面试:为什么Map桶中个数超过8才转为红黑树
  13. FbinstTool最简单制作U盘启动ISO格式(金测)
  14. 喜迎二十大知识竞赛答题小程序源码
  15. ps怎么更改背景图层大小_Photoshop怎么改变(缩小)图片尺寸大小
  16. LED白光测速仪MSE-V508
  17. Springmvc 控制器的作用
  18. Windows多个桌面切换快捷键
  19. 区块链软件公司:区块链技术三大主要特性的优势
  20. 艾司博讯:拼多多判断正品的标准是什么

热门文章

  1. Java(老白再次入门) - 多线程
  2. C语言 —— 一分钟让你理解自增和自减
  3. 单片机:中断系统控制二极管的亮灭
  4. WIN10 - WLAN网络适配器红叉-重新启动后依然红叉
  5. iOS开发 - 若把上线版本下架,重新提交新的版本,通过审核后显示下架状态
  6. 增量式编码器的工作原理与使用方法
  7. Win10 网络显示感叹号或小地球,能联网却提示无法连接到Internet 的解决方法
  8. 多活分布式数据中心如何实现DNS域名解析和负载均衡?
  9. 如何在给虚拟机设置静态IP
  10. 关于《火影忍者 博人传》的一点想法