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

【总结】Python多线程

【总结】Python多线程

  • 备注
  • 一、基本概念
  • 二、

备注

2025/08/15 星期五
最近用到了python的多线程发现和其他语言有点不同记录一下

一、基本概念

首先要理解一下线程、进程和协程的概念
线程(Thread):是计算机能够调度的最小计算单位
进程(Process):是正在运行的程序,拥有独立的内存空间
协程(Coroutine):是由编程语言在用户态显式调度的轻量级调度机制,不经过操作系统内核的调度

再来看一下我们编程中最常遇到的问题,就是当程序进行一个耗时任务时,程序就不能进行其他任务了,这就有了并发的概念
并发(Concurrency):是在同一时间内具有处理多个任务的能力

并发是一种能力,要想实现并发有两种思路:
并行(Parallelism):是同一时间同时执行多个任务,如:多进程和多线程
异步(Asynchronous):是发起一个耗时任务后,​​不阻塞执行流程等待结果返回​​,继续执行其他操作,如:​​回调、协程
(类似的在硬件层面,操作系统可以通过CPU单核的分时复用或者CPU多核的并行来实现并发。分时复用与异步有相似之处但不相比)

并发的应用场景主要有两类:
CPU密集型:需要把一个大型计算任务拆分成多个小任务​​同时​​计算,优先采用并行思路,场景一般是科学计算、多媒体处理、机器学习、数据分析、密码学运算、项目编译
IO密集型:不因等待网络、磁盘等的I/O操作而空闲阻塞,优先采用异步思路,场景一般是Web服务的API接口、实时通信、数据爬虫、服务间通信

二、

http://www.xdnf.cn/news/17979.html

相关文章:

  • 国内多光谱相机做得好的厂家有哪些?-多光谱相机品牌厂家
  • 硬件实现webrtc的编解码
  • 【2024前端实战综合练习】HTML+CSS+JavaScript 实现无穷可爱爱心喷射特效(含源代码解析 代码结构逻辑简析)
  • OpenCV 阈值处理
  • Flutter 以模块化方案 适配 HarmonyOS 的实现方法
  • 水环境遥感分析!R语言编程+多源遥感数据预处理;水体指数计算、水深回归分析、水温SVM预测、水质神经网络建模及科研级可视化制图
  • openwrt增加自定义网页
  • LeetCode热题100--146.LRU缓存--中等
  • 第40周——GAN入门
  • 动手学深度学习(pytorch版):第三章节—线性神经网络(4)softmax回归
  • strlen与传值传址调用
  • 设计模式(Design Patterns)
  • C++:stl-> list的模拟实现
  • 条件变量的基本介绍与有界缓冲区问题
  • 异步开发:协程、线程、Unitask
  • C语言——深入理解指针(四)
  • 获取农历日期
  • Jeecg后端经验汇总
  • strings命令和findstr命令验证iso文件中ntkrnlmp.exe系统版本
  • 如何避免网盘中资源被和谐?
  • LeetCode算法日记 - Day 12: 寻找旋转排序数组中的最小值、点名
  • Erlang notes[2]
  • Vue 侦听器(watch 与 watchEffect)全解析1
  • 图解软件知识库体系
  • GaussDB 常用数值类型
  • 分布式锁:从理论到实战的深度指南
  • python自学笔记8 二维和三维可视化
  • 深入解析Prompt缓存机制:原理、优化与实践经验
  • 云原生俱乐部-杂谈1
  • CVE-2014-6271(bash破壳漏洞 )