对于进程同步和异步的理解

2023-11-01

多进程并发执行具有异步的特性

进程异步就是指一个以上的进程在并发执行时具有的异步特型,就比如说两个进程之间指令的执行顺序是不确定的,具有很强的随机性。

举个例子

现在有两个并发执行的进程 A 和 B, 各自都有n条指令需要执行。
然而,我的CPU很垃圾,只能在同一时刻执行一条语句,就产生了如下几个问题:

  1. 是先执行A进程的第一条语句还是B进程的第一条语句?
    显然这是未知的
  2. 假如先执行的是A进程的第一条语句,那我要执行到第几条语句才停下来再去执行B的语句呢?(肯定不能让A进程执行完所有的语句再转去执行B进程,这就失去了并发的意义了)
    显然这也是未知的

这就是进程异步特型,在单进程中语句的顺序是很容易确定的,而多进程中却是无法确定的。

提出需求
假如现在A进程的某一条语句需要等待B进程的某一条语句执行完才能执行,那么我们解决这个问题呢?
与这个类似的问题很复杂,解决这一类问题就是 进程同步 需要讨论的内容。

进程同步

进程同步就是用一些巧妙的方法将异步的进程的局部代码加以控制,达到我们想要的效果。
为什么说是局部呢
因为只有一部分指令的执行是有条件约束的,需要我们去控制,如果不控制就会得不到我们想要的执行结果,甚至发生严重的错误。

当然更不肯能去手动控制所有的代码,那样将是及其的低效率且没有任何意义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于进程同步和异步的理解 的相关文章

随机推荐

  • python中将字符变为大写_python如何把小写字母变成大写字母

    python为我们提供了 upper 方法 该方法可以将字符串中的小写字母转为大写字母 语法 str upper 返回值 返回小写字母转为大写字母的字符串 代码示例 usr bin python str this is string exa
  • zxing 二维码扫描优化

    先罗列优化点 1 优化扫描精度 增加解析成功率 hints put DecodeHintType TRY HARDER Boolean TRUE 2 生成图片 用于被解析 时不剪切图片 增加二维码图片的完整性 优化前 new PlanarY
  • js上拉加载更多

    感谢原作者
  • Unity3D相关知识点笔记汇总

    这篇文章将作为一些平时的小知识点笔记来记录 如果有错误望指出来 也欢迎大家在评论底下分享你们的笔记 1 检测点击或者触摸到UI public static bool CheckClickUI bool isClickUI false if
  • 医疗信息管理系统数据库--MySQL

    医疗信息管理系统数据库 MySQL 友情连接 1 学生成绩管理系统数据库设计 MySQL 2 邮件管理数据库设计 MySQL 3 点餐系统数据库设计 SQL Server 4 商品管理系统数据库设计 SQL Server 5 SQL Ser
  • 在WebView中对第三方H5页面的文本密码框添加自定义随机键盘

    前言 首先介绍一下这个需求的背景 由于公司是涉及到金融行业的需要与银行对接资金存管 出于保密性这里不直接列出公司名字和银行名字 从2018年国家对金融行业大整改以来 为了能够顺利通过备案 我们也跟着政府的脚步一步一步走向合规 好了 大致就是
  • 堡垒机-jumpserver环境搭建

    一 Jumpserver简单介绍 Jumpserver 是全球首款完全开源的堡垒机 使用 GNU GPL v2 0 开源协议 是符合 4A 的专业运维审计系统 Jumpserver 使用 Python Django 进行开发 遵循 Web
  • c语言链式栈课程设计,C语言实现链式栈(LinkStack)

    使用单链表来实现 push pop均在链表头部进行 linkStack h ifndef LINK STACK H define LINK STACK H include include include include typedef vo
  • 加密数字货币的开发技术介绍

    要问当前所有区块链应用中最火的是什么应用 非加密货币莫属 看看各个跟区块链相关的讨论组 整天热火朝天地讨论的是各种币的行情 即使是技术讨论组 除了一些热门讨论外 最吸引注意的莫过于本币的涨跌还有各种代币的ICO了 首先 加密数字货币是什么鬼
  • position absolute相关知识点

    前言 最近再看position相关知识点 发现有许多以前没有注意到的细节知识点 有不小的收获 本文就position absolute使用详细分析下 具体分析 position是CSS中比较重要的一个属性 常用于页面布局 它的值有4个 st
  • oracle数据库与postgre数据库之间的互相迁移

    oracle与postgre之间互相迁移之前要明白 postgreSQL中默认使用小写 oracleSQL中默认大写 迁移分成3个步骤 数据及结构迁移 迁移之后的类型及长度变化 不兼容的函数替换 1 数据及结构迁移 1 1数据大小写同步 o
  • JS 判断对象中是否包含某属性

    一 通过点或者方括号 我们在使用对象的时候 通过点或方括号可以获取对象的属性值 如果该对象自身不存在这个属性 就会返回undefined var obj name 小破船 doWhat 借箭 console log obj name 小破船
  • css linear-gradient 设置背景颜色渐变

    CSS3 渐变能够让背景颜色在两个或多个颜色之间平滑过渡 基本语法 background linear gradient direction color stop1 color stop2 direction 是指渐变的方向 color s
  • 迷宫问题寻宝(c++实现,求最短路径,显示路径)

    定义一个二维数组 int maze n m 它表示一个迷宫 其中的1表示道路不通 0表示可以走的路 3 表示宝藏 只能横着走或竖着走 不能斜着走 要求编程序找出找到宝藏的最短路路径 题目保证有解且只有一个最短路径 且只能从迷宫边缘进入迷宫
  • tomcat中仅启动指定的项目,不启动其它项目

    使用tomcat调试项目时 若部署过多项目会导致启动时间很长 这时指定自己想启动的项目就显得很有必要了 具体方法如下 一 打开tomcat中的server xml配置文件 在Host节点中添加或修改如下属性 deployXML false
  • QT系列第3节 QT中混合UI设计

    QT开发过程中 经常使用Qt designer设计器和代码方式结合来及进行ui设计 本节将介绍这两种方式混合进行ui开发 目录 1 工程添加图片资源 2 添加菜单 3 添加工具栏 4 简单文本编辑器实现 5 QT Creator常用快捷键
  • scrapy设置代理ip(精简版)

    在middlewares py文件中 添加下面的代码 import scrapy from scrapy import signals import random class ProxyMiddleware object def proce
  • 爬取淘宝价格

    爬取淘宝价格 from selenium import webdriver from lxml import etree from time import sleep 实例化一个浏览器对象 bro webdriver Chrome exec
  • [调用函数]

    注 梳理 整理 用来帮助自己学习 如有错误 请指出 1 编写一个函数 该函数接受两个整数作为参数并返回它们的和 在主函数中调用该函数并输出结果 示例输入 5 7 示例输出 12 解题思路 首先需要定义一个函数来实现两个整数的加法 函数的返回
  • 对于进程同步和异步的理解

    多进程并发执行具有异步的特性 进程异步就是指一个以上的进程在并发执行时具有的异步特型 就比如说两个进程之间指令的执行顺序是不确定的 具有很强的随机性 举个例子 现在有两个并发执行的进程 A 和 B 各自都有n条指令需要执行 然而 我的CPU