Python进程之串行与并行

news2024/11/15 3:53:42

串行和并行

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

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

同步和异步

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

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

小结:

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

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

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

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

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

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

阻塞与非阻塞:

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯备赛Day9——链表进阶

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5]示例 2: 输入:head = [1], n = 1 输出:[]示例 3: 输入:head = [1,2], n = 1 输出:[1]提示: 链表中结点的数目为 sz1 <= sz <= 300 &l…

2024-02-07(Sqoop,Flume)

1.Sqoop的增量导入 实际工作中&#xff0c;数据的导入很多时候只需要导入增量的数据&#xff0c;并不需要将表中的数据每次都全部导入到hive或者hdfs中&#xff0c;因为这样会造成数据重复问题。 增量导入就是仅导入新添加到表中的行的技术。 sqoop支持两种模式的增量导入&a…

sqli.labs靶场(41-53关)

41、第四十一关 -1 union select 1,2,3-- -1 union select 1,database(),(select group_concat(table_name) from information_schema.tables where table_schemadatabase()) -- -1 union select 1,2,(select group_concat(column_name) from information_schema.columns wher…

2024年【天津市安全员B证】模拟试题及天津市安全员B证模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员B证模拟试题是安全生产模拟考试一点通生成的&#xff0c;天津市安全员B证证模拟考试题库是根据天津市安全员B证最新版教材汇编出天津市安全员B证仿真模拟考试。2024年【天津市安全员B证】模拟试题及天津市…

零基础学Python之Unitest模块

1.unittest简介及入门案例 &#xff08;1&#xff09;什么是Unitest Unittest是Python自带的单元测试框架&#xff0c;不仅适用于单元测试&#xff0c;还可用于Web、Appium、接口自动化测试用例的开发与执行。该测试框架可组织执行测试用例&#xff0c;并且提供丰富的断言方法…

如何使用CLZero对HTTP1.1的请求走私攻击向量进行模糊测试

关于CLZero CLZero是一款功能强大的模糊测试工具&#xff0c;该工具可以帮助广大研究人员针对HTTP/1.1 CL.0的请求走私攻击向量进行模糊测试。 工具结构 clzero.py - 工具主脚本&#xff1b; default.py - 包含了大多数标准攻击测试方法和字符&#xff1b; exhaustive.py - 包…

Git介绍和常用命令说明

目录 一、Git概述 1.1 Git是什么 1.2 Git有什么用 1.3 Git仓库介绍 二、Git下载与安装 三、Git代码托管服务&#xff08;远程仓库&#xff09; 四、Git常用命令 4.1 设置用户信息 4.2 获取Git仓库 4.2.1 本地初始化Git仓库 4.2.2 从远程仓库克隆 4.3 本地仓库操作 …

navigator.mediaDevices.getUserMedia获取本地音频/麦克权限并提示用户

navigator.mediaDevices.getUserMedia获取本地音频/麦克权限并提示用户 效果获取权限NotFoundErrorNotAllowedError 代码 效果 获取权限 NotFoundError NotAllowedError 代码 // 调用 captureLocalMedia()// 方法 function captureLocalMedia() {console.warn(Requesting lo…

Mac 下JDK环境变量配置 及 JDK多版本切换

一、推荐官网下载&#xff1a; 二、环境变量配置 1、查看JDK地址&#xff0c;在终端输入以下命令&#xff1a; /usr/libexec/java_home -V 我的路径&#xff1a; /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home /Library/Java/JavaVirtualMachines/zulu-11.j…

MGIE官网体验入口 苹果多模态大语言模型AI图像编辑工具在线使用地址

MGIE是一项由苹果开源的技术&#xff0c;利用多模态大型语言模型&#xff08;MLLMs&#xff09;生成图像编辑指令&#xff0c;通过端到端训练&#xff0c;捕捉视觉想象力并执行图像处理操作&#xff0c;使图像编辑更加智能、直观。 MGIE官网体验入口https://github.com/apple/M…

Python进行AI声音克隆的端到端指南

人工智能语音克隆是一种捕捉声音的独特特征&#xff0c;然后准确性复制它的技术。这种技术不仅可以让我们复制现有的声音&#xff0c;还可以创造全新的声音。它是一种彻底改变内容创作的工具&#xff0c;从个性化歌曲到自定义画外音&#xff0c;开辟了一个超越语言和文化障碍的…

异常统一处理:MissingServletRequestParameterException(遗漏Servlet请求参数异常)

一、引言 本篇内容是“异常统一处理”系列文章的重要组成部分&#xff0c;主要聚焦于对 MissingServletRequestParameterException 的原理解析与异常处理机制&#xff0c;并给出测试案例。 关于 全局异常统一处理 的原理和完整实现逻辑&#xff0c;请参考文章&#xff1a; 《S…

Linux基础I/O(中)——重定向

重定向 根据上一篇的文章我们知道&#xff0c;文件描述符是什么。 0->stdin; 1->stdout; 2->stderr; 如果我们新打开一个文件的话&#xff0c;该文件描述符为3&#xff0c;如下图&#xff1a; &#xff1a;&#xff1a;“ 如果我先close(1),再打开一个文件,根据之前的…

for循环的多重跳出

for的多重跳出 1.前言2.标签使用3.使用异常的方式 本文在jdk17中测试通过 1.前言 前段时间面试时&#xff0c;面试官问我多重for循环如何跳出&#xff0c;我懵了&#xff0c;今天特别的研究了一下 本文主要说的不是continue与break&#xff0c;而是少用的另类操作 1.continue:…

三维可视化助力船舶制造:大数据处理、实时协作更高效!

随着科技的不断发展&#xff0c;船舶制造行业也在不断寻求创新和提高效率的途径。其中&#xff0c;HOOPS技术作为一种先进的三维可视化和工程协作技术&#xff0c;正逐渐成为船舶制造领域的关键工具。 本文将深入探讨HOOPS技术在船舶制造行业的应用&#xff0c;探讨其带来的优…

(2)llvm ir某些细节

&#xff08;1&#xff09;为什么需要llvm ir 也就是说&#xff0c;一个需求是解耦&#xff0c;一个需求是进行大家都需要的平台无关优化。 &#xff08;2&#xff09;llvm ir形式 &#xff08;3&#xff09;llvm结构 结构一个文件是module&#xff0c;里面可以有函数&#x…

基于YOLOv7算法和KITTI数据集的高精度实时车辆目标检测系统(PyTorch+Pyside6+YOLOv7)

摘要&#xff1a;基于YOLOv7算法和KITTI数据集的高精度实时车辆目标检测系统可用于日常生活中检测与定位行人&#xff08;Pedestrian&#xff09;、面包车&#xff08;Van&#xff09;、坐着的人&#xff08;Person Sitting&#xff09;、汽车&#xff08;Car&#xff09;、卡车…

PHPExcel导出excel

PHPExcel下载地址 https://gitee.com/mirrors/phpexcelhttps://github.com/PHPOffice/PHPExcel 下载后目录结构 需要的文件如下图所示 将上面的PHPExcel文件夹和PHPExcel.php复制到你需要的地方 这是一个简单的示例代码 <?php$dir dirname(__FILE__); //require_once …

低成本高利润:小区开店的最佳选择

作为一位在鲜奶吧行业摸爬滚打5年的创业者&#xff0c;我深知在小区内开店&#xff0c;选择什么项目能够实现低成本高利润。今天&#xff0c;我就为大家揭秘这个稳赚不亏的创业秘籍——鲜奶吧。 一、鲜奶吧&#xff1a;小区内的健康饮品专家 鲜奶吧以其新鲜、健康、营养的特点…

Java图形化界面编程——Container容器 笔记

2.3 Container容器 2.3.1 Container继承体系 Winow是可以独立存在的顶级窗口,默认使用BorderLayout管理其内部组件布局;Panel可以容纳其他组件&#xff0c;但不能独立存在&#xff0c;它必须内嵌其他容器中使用&#xff0c;默认使用FlowLayout管理其内部组件布局&#xff1b;S…