Python进程、线程、协程

news/2025/3/15 13:33:11/

进程

线程

协程

举个简单的例子:

  • 有一个老板想要开个工厂进行生产某件商品(例如剪子),他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的 为了能够生产剪子而准备的资源称之为:进程
  • 只有生产线是不能够进行生产的,所以老板的找个工人来进行生产,这个工人能够利用这些材料最终一步步的将剪子做出来,这个来做事情的工人称之为:线程
  • 这个老板为了提高生产率,想到3种办法:
  1. 在这条生产线上多招些工人,一起来做剪子,这样效率是成倍增长,即单进程 多线程方式
  2. 老板发现这条生产线上的工人不是越多越好,因为一条生产线的资源以及材料毕竟有限,所以老板又花了些财力物力购置了另外一条生产线,然后再招些了人这样效率又再一步提高了,即多进程 多线程方式
  3. 老板发现,现在已经有了很多条生产线,并且每条生产线上已经有很多工人了(即程序是多进程的,每个进程中又有多个线程》,为了再次提高效率老析想了个损招,规定:如果某个员工在上班时临时没事或者再等待某些条件(如等待另一个工人生产完谋道工序 之后他才能再次工作) ,那么这个员工就利用这个时间去做其它的事情,那么也就是说:如果一个线程等待某些条件,可以充分利用这个时间去做其它事情,其实这就是:协程方式

简单总结:

  1. 进程是资源分配的单位
  2. 线程是操作系统调度的单位
  3. 进程切换需要的资源很大,效率很低
  4. 线程切换需要的资源一般,效率一般
  5. 协程切换任务资源很小,效率高
  6. 多进程、多线程根据cpu核数不一样可能是并行的,但是协程是一个线程中的 所以是并发

http://www.ppmy.cn/news/68451.html

相关文章

Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明二

Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明二 Baumer工业相机Baumer工业相机CE软件图像/视频存储功能Baumer工业相机CE软件记录日志文件功能Baumer工业相机CE软件查看图像Buffer及数据流统计信息 Baumer工业相机 Baumer工业相机堡盟相机是一种高性能、高质…

单链表(增、删、查、改)的详细介绍 必看!!!

文章目录 链表介绍单链表初始化单链表打印增加节点单链表的头插单链表的尾插在给定位置之后插入在给定位置之前插入 删除节点单链表的头删单链表的尾删删除给定位置之后的节点删除给定位置处的节点 查找节点修改节点单链表销毁 链表介绍 链表是一种物理存储单元上非连续、非顺序…

卷麻了,可别再为难软件测试人了

前言 有不少技术友在测试群里讨论,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些测试工程师了。 这不,为了帮大家节约时…

在C#WinForm中调用julia函数及在C#中传递参数到julia函数的使用示例

特别声明:未经允许,请勿转载! https://discourse.juliacn.com/t/topic/7189https://discourse.juliacn.com/t/topic/7189我在julia中国社区已提交了文章的最后部分未解决问题,大家后续可以在该链接中跟踪问题的回答进度。 好几…

JSP在线考试系统的设计与实现(源代码+论文)

在线考试系统旨在实现考试的无纸化管理,基于计算机和网络技术进行在线考试系统的使用,既方便校方对考试的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。 基于远程教育的推广和在线考试需求的增加&#…

Android13 xml配置文件乱码问题解决

Android13 xml配置文件乱码问题解决 文章目录 前言原因解决方法 前言 Android13 中发现cat 某个的配置文件 是 乱码! 这个跟普通的中文乱码问题不同,因为拉到电脑查看也是乱码! Android 查看 Sttings Global 属性情况: cat /da…

区分有状态和无状态组件

有状态组件和无状态组件是 React 中两种不同的组件类型,它们在处理数据和实现逻辑的方式上有所不同。 有状态组件(Stateful Components): 有状态组件是指具有内部状态(state)的组件,可以通过 s…

带你一文了解分布式事务~

书接上文,如果不明白我之前写了什么的话,可以看下之前我文章: 序列化隔离级别在数据库系统中可以解决其他隔离级别无法处理的问题,这是因为它提供了最高的隔离性和数据一致性。 目前大多数提供可序列化的数据库都使用了三种技术…