Python进程之串行与并行

串行和并行

串行指的是任务的执行方式。串行在执行多个任务时,各个任务按顺序执行,完成一个之后才能进行下一个。(早期单核CPU的情况下)

并行指的是多个任务在同一时刻可以同时执行(前提是多核CPU),不需要等待。

同步和异步

所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要成功都成功,失败都失败,两个任务的状态可以保持一致需要等待、协调运行。

所谓异步就是彼此独立的,分配任务后,不需要等待该任务的执行结果,继续做自己的事,无论被分配的任务是执行成功还是失败都是不关心的,只要自己完成了整个任务就算完成了。至于其它任务是否真正完成无法确定,所以它是不可靠的任务序列。

小结:

1、串行和同步的区别:串行指的是在早期单核CPU时,一台电脑在同一时刻只能执行一个程序,如果想要运行另一个程序需要关闭当前程序,才能执行下一个程序,是针对多个程序来说的。同步指的是在一个程序中同一时刻只能执行一个任务。是针对一个程序中多个进程或多个线程来说的。

所以两者有着本质上的区别。串行是针对多个程序,同步是针对一个程序内部的多个进程或多个线程的。

2、并行和异步的区别:并行指的是多核CPU,在同一时刻可以执行多个程序。异步指的是在同一个程序内可以执行多个进程或者多个线程。

两者本质上的区别就是并行指的是多个程序,异步指的是一个程序内部的多个进程和多个线程。

3、并行和并发的区别:并行和并发都是指多个程序,但不同的是并行在同一时刻可以同时执行多个任务,而并发在同一时刻只能执行一个任务,通过多道技术在空间上可以开启多个程序,在时间上通过时间片的方式轮询多个程序,从用户的角度来看实现了多个程序同时执行的伪并行,从CPU的角度同一时刻它只能执行一个程序,所以说他是串行的,只不过是由于CPU切换速度太快我们无法从表面看出来而已。

并行是真正的同一时刻执行多个程序,并发是通过时间轮询的方式实现了伪并行。

阻塞与非阻塞:

阻塞:只要是涉及到I/O操作或者网络请求的都属于阻塞如read,recv,accept。

非阻塞:只要不涉及到I/O,网络请求的在内存中可以直接计算的就是非阻塞,例如:list.append(8),dict["a"]=1就是非阻塞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/379475.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯单片机记录】IO基础与LED控制

目录 一、IO基础 1.1 IAP15F2K61S2芯片原理图 1.2不同工作模式 二、新建工程的一些补充 2.1 keil中没有IAP15F2K61S2的头文件 解决:在isp软件中找到如下​编辑 2.2keil中的芯片选择 2.3推荐字体 三、sbit关键字 四、LED控制 4.1原理图 4.2不能直接通过IO…

电脑多出一个虚拟驱动器又无法删除怎么办

下载解压UltraISO https://wwb.lanzoum.com/i8vY71nqnp4d 右键UltraISO.exe以管理员身份运行 点击选项 点击配置 91fddbd892a0.png) 点击虚拟光驱,把设备数量改成无,点击确定即可

Spring是怎么解决循环依赖的

首先先解释一下什么叫循环依赖 循环依赖:循环依赖其实就是循环引用,也就是两个或两个以上的bean互相持有对方,最终形成闭环.比如A依赖于B,B依赖于A 循环依赖在spring中是允许存在的,spring框架依据三级缓存已经解决了大部分的循环依赖 一级缓存:单例池,缓存已经经历了完整的…

门诊单据打印用什么软件,线下处方单生成系统教程

门诊单据打印用什么软件,线下处方单生成系统教程 一、前言 以下软件教程以 佳易王诊所电子处方管理系统软件V17.3为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 如上图,电子处方或病历记录开单生成保存后,可…

3分钟部署完成Docker Registry及可视化管理工具Docker-UI

安装docker-registry 由于镜像文件会非常占用空间,因此需要选择一个磁盘充裕的位置来存放镜像数据。 这里设置为:-v /data/registry:/var/lib/registry,其中/data/registry是宿主机存放数据的位置。 docker run -d -p 5000:5000 --restart…

95.网游逆向分析与插件开发-游戏窗口化助手-窗口化助手显示与大小调整

内容参考于:易道云信息技术研究院VIP课 上一个内容:地图数据获取的逆向分析与C代码还原 码云地址(游戏窗口化助手 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:e85c0fc8b85895c8c…

深度分析一款新型Linux勒索病毒

前言 DarkRadiation勒索病毒是一款全新的Linux平台下的勒索病毒,2021年5月29日首次在某平台上发布了此勒索病毒的相关的信息,6月中旬趋势科技针对这个新型的勒索病毒进行了相关的分析和报道。 DarkRadiation勒索病毒采用Bash脚本语言编写实现&#xff0…

运维高级篇-分库分表(拆分策略详解)

分库分表 介绍 问题分析 随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存 储,存在以下性能瓶颈: IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘…

Leetcode 30天高效刷数据结构和算法 Day1 两数之和 —— 无序数组

两数之和 —— 无序数组 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现…

SCI 1区论文:Segment anything in medical images(MedSAM)[文献阅读]

基本信息 标题:Segment anything in medical images中文标题:分割一切医学图像发表年份: 2024年1月期刊/会议: Nature Communications分区: SCI 1区IF:16.6作者: Jun Ma; Bo Wang(一作;通讯)单位:加拿大多…

「Mybatis实战五」:Mybatis核心文件详解 - MyBatis常用配置environments、properties

一、MyBatis核心配置文件层级关系 ​ 本文代码在 Mybatis初体验:一小时从入门到运行你的第一个应用 所构建的基础代码结构之上,进行修改。 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: 二…

【C语言初阶-结构体】关于结构体的声明定义、结构体传参详解

目录 1. 结构体的声明 1.1 结构的基础知识 1.2 结构的声明 1.3 结构成员的类型 1.4 结构体变量的定义和初始化 2. 结构体成员的访问 2.1(.)操作符 2.2(->)操作符 3.结构体传参 1. 结构体的声明 1.1 结构的基础知识 结构体是一些值的集合&…

K8S之Pod常见的状态和重启策略

Pod常见的状态和重启策略 常见的Pod状态PendingPodScheduledUnschedulablePodInitializingImagePullBackOffInitializedRunningErrorCrashLoopBackOffTerminatingSucceededFailedEvictedUnknown Pod的重启策略使用Always重启策略使用Never重启策略使用OnFailure重启策略(常用) …

【经验】SPICE仿真 - Bob Pease会说No吗?

每一个读过我博客的人都知道,我使用SPICE模型仿真电路。你可能听说过Bob Pease,在SPICE领域相当执有己见,他曾经说过:“SPCIE模型削弱了你对所发生事物的洞察能力。SPICE模型实际上降低了你对电路如何工作的理解能力”。今天&…

【原创 附源码】Flutter海外登录--Google登录最详细流程

最近接触了几个海外登录的平台,踩了很多坑,也总结了很多东西,决定记录下来给路过的兄弟坐个参考,也留着以后留着回顾。更新时间为2024年2月8日,后续集成方式可能会有变动,所以目前的集成流程仅供参考&#…

Linux操作系统基础(二):Linux操作系统概述

文章目录 Linux操作系统概述 一、Linux起源 二、Linux 的含义 三、Linux发行版 Linux操作系统概述 一、Linux起源 Linux创始人——林纳斯 托瓦兹 Linux 诞生于1991年,作者上大学期间实现的 Linux的特点:开源、免费、拥有最为庞大的源码贡献者 …

用HTML5实现灯笼效果

本文介绍了两种实现效果:一种使用画布(canvas)标签/元素,另一种不用画布(canvas)标签/元素主要使用CSS实现。 使用画布(canvas)标签/元素实现,下面,在画布上…

SpringSecurity+OAuth2权限管理实战

Spring Security快速入门 官方文档: Spring Security :: Spring Security 功能: 身份认证(authentication) 授权(authorization) 防御常见攻击(protection against common attacks&#xff…

CentOS 安装 redis 7.2

nginx官网 https://redis.io/download/ 把鼠标放到这里,复制下载地址 在服务器找个文件夹执行命令 wget https://github.com/redis/redis/archive/7.2.4.tar.gz tar -zxvf 7.2.4.tar.gz make make install 看到这几行就说明安装成功了 不放心的话再查看下b…

React + SpringBoot + Minio实现文件的预览

思路:后端提供接口,从minio获取文件的预览链接,返回给前端,前端使用组件进行渲染展示 这里我从minio获取文件预览地址用到了一个最近刚开源的项目,挺好用的,大伙可以试试,用法也很简单 官网&am…