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

第二章 进程与线程 十二、进程同步与进程互斥

目录

一、进程同步

1、定义

二、进程互斥 

1、定义

2、四个部分

3、原则


一、进程同步

1、定义

进程同步是指在多个进程之间协调执行顺序的一种机制,使得进程按照一定的顺序执行,以避免出现不一致的情况。常见的实现方式有信号量、管程、屏障等。

二、进程互斥 

1、定义

进程互斥是指在多个进程之间共享资源时,为了避免多个进程同时访问该资源而出现冲突的一种机制。常见的实现方式有信号量和互斥锁。

可以说进程同步和进程互斥是紧密联系的,进程同步是为了有效地进行进程互斥,以避免出现资源竞争问题。同时,进程互斥也需要一定的进程同步机制来协调各个进程之间的顺序,保证资源的正确使用。

2、四个部分

进入区:检查是否可进入临界区,若可进入,需要"上锁"。

临界区:访问临界资源的那段代码。

退出区:负责“解锁"。

剩余区:其余代码部分。

3、原则

(1)空闲让进。临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区;

(2)忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待;

(3)有限等待。对请求访问的进程,应保证能在有限时间内进入临界区(保证不会饥饿);

(4)让权等待。当进程不能进入临界区时,应立即释放处理机,防止进程忙等待。

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

相关文章:

  • Linux内核链表(list)移植到任意平台
  • 【操作系统】聊聊什么是CPU上下文切换
  • CMake教程-第 2 步 添加一个库
  • DS 顺序表--类实现(C++数据结构题)
  • 0.UML
  • PostgreSQL设置主键为自增
  • input修改checkbox复选框默认选中样式
  • 高云FPGA系列教程(10):letter-shell移植
  • 【C语言学习笔记---指针进阶02】
  • 低功耗蓝牙物联网:未来连接的无限可能
  • 安装社区版本OB
  • JSON 串和 Java 对象的相互转换
  • 爬虫 — App 爬虫(一)
  • 如何使用正则表达式实现Java日志信息的抓取与收集
  • C/C++算法入门 | 简单模拟
  • stm32学习-芯片系列/选型/开发方式
  • mnist数据集
  • Java之IO概述以及
  • Spring WebFlux—Reactive 核心
  • 由于找不到d3dx9_43.dll,无法继续执行代码要怎么解决
  • git安装配置教程
  • 要如何选择报修工单管理系统?需要注意哪些核心功能?
  • 面对大数据量渲染,前端工程师如何保证页面流畅性?
  • 2023年浙工商MBA新生奖学金名单公布,如何看待?
  • 关于时空数据的培训 GAN:实用指南(第 02/3 部分)
  • UNIAPP利用canvas绘制图片和文字,并跟随鼠标移动
  • 【智能电表数据接入物联网平台实践】
  • Docker--network命令的用法
  • 优维低代码实践:图片和搜索
  • [Qt]控件