news 2026/11/2 6:37:09

【Python】并发_并行_同步_异步_进程_线程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Python】并发_并行_同步_异步_进程_线程

并发 vs 并行

并发

概念:在一段时间内,当CPU面对多个任务时,会将每个任务交替着执行一段时间

特点:
对于某个瞬间,CPU实际上只在执行一个任务
CPU通过高频切换不同的任务,让每个任务都能得到推进,仿佛多个任务在同时执行

并行

概念:并行依赖于多个CPU,或多核心的CPU,在同一时刻,每个核心都在执行不同的任务

特点:
对于某个瞬间,每个CPU(或每个核心)都在执行不同的任务
通过多个CPU(或多个核心)同时工作的方式,让多个任务真的在同时执行

说明:在现代操作系统中,并发与并行通常都是同时存在的

即便是多个CPU,里面的每个CPU也是在并发执行多个任务

可通过任务管理器查看核心数

比如这个是16核

也可以通过代码查看

同步 vs 异步

同步(sync)

概念:发起一个任务之后,需要等该任务完成后,才能继续执行后续任务
表现:当前执行流会被阻塞

异步(async)

概念:发起一个任务之后,不必等该任务完成,就可以继续执行其他任务
虽然不必等待任务完成,但任务完成后,仍然可以通过特定方式获取结果

表现:当前执行流不会被阻塞

注意区分概念:

并发/并行:描述的是任务如何被执行,即:多个任务在执行时,CPU要如何处理

同步/异步:描述的是任务如何被组织和等待,即:要不要等当前发起的任务执行完,再进行下一个任务

注意点:CPU的核心数和执行速度,不会改变任务之间的逻辑依赖关系!例如:

一旦任务1,任务2,任务3之间被设计为同步关系,那么:即便CPU切换任务的速度再快,核心数量再多,也不会在任务1没完成的情况下去启动任务2

进程与线程

进程

一个正在运行的程序或软件,背后就对应着一个或多个进程
进程是操作系统进行资源分配的基本单位
每个进程都有自己独立的一块内存空间

线程

线程是进程内部的执行单元(一个进程中可以有多个线程)
线程是操作系统进行CPU调度的基本单位
同一进程内的线程共享进程资源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/2 6:36:48

妥妥滴办公神器!支持270种格式转换

文章目录 1. 为什么这个场景值得你停下来读 5 分钟 2. 30 秒认识它:一张图看懂 Filee 的全貌 3. 总架构:五层结构、8 个项目,边界干净得令人舒适 4. 重难点一:把"格式"当节点、把"转换器"当边——Dijkstra 路由规划 4.1 它解决了一个什么难题? 4.2 关…

作者头像 李华
网站建设 2026/11/2 6:36:13

【C++ 八股文】(篇二):类与数据抽象 STL 容器与算法

这一篇把两块高频考点放在一起:类与数据抽象(继承、组合、构造析构、成员初始化列表、虚函数限制)和 STL 容器与算法(六大组件、allocator、vector/list/deque、map/set、迭代器失效)。一、类和数据抽象1. 什么是类的继…

作者头像 李华
网站建设 2026/11/2 6:35:36

JVM 对象创建及内存分配

一、JDK 体系结构与跨平台特性Java 的跨平台能力来自「一次编写,到处运行」的设计:源码经 javac 编译为与平台无关的字节码(.class),再由各平台对应的 JVM 负责解释执行或即时编译(JIT)为本地机…

作者头像 李华
网站建设 2026/11/2 6:35:19

小白程序员必备:大模型在医疗领域的最新动态与学习指南

本文探讨了医疗大模型领域的最新进展,包括微软开发的逐步追问与检查的诊断系统、模型在指南更新中的应用、多智能体在会诊中的作用,以及本地推理模型在文献筛选中的应用。文章还介绍了讯飞医疗的多模态升级和紫荆智康的多学科人机协作框架。这些研究展示…

作者头像 李华
网站建设 2026/11/2 6:34:48

springmvc 和 springBoot 创建拦截器的区别

springmvc创建拦截器方式 1、创建MyInterceptor(类名自己起)类 实现 HandlerInterceptor 接口。 2、重写 HandlerInterceptor 接口的 preHandle、postHandle、afterCompletion方法。 3.创建SpringmvcConfig(类名自己起) 类&…

作者头像 李华
网站建设 2026/11/2 6:32:44

链表的特点以及实现步骤

一、链表是什么 链表不是一整块内存,它把每一份数据包装成节点Node。 每个节点做两件事:存真正的数据 data ;存下一个节点的地址 next ,指向下一个小伙伴 1.链表的优点 新增尾部数据很快。我们代码里加了尾节点 last &#xff0…

作者头像 李华