Python中进程、线程、协程及其区别
2021-03-09 11:28
标签:python 管理 不能 关系 线程 调度 店铺 分配 超人 以下为复制内容: https://blog.csdn.net/mr__l1u/article/details/81772073 1> 进程、线程和协程的认识: 进程是系统进行资源分配和调度的独立单位; 线程是进程的实体,是CPU调度和分派的基本单位; 协程也是线程,称微线程,自带CPU上下文,是比线程更小的执行单元; 下图可以很好的解释进程与线程的关系: 2> 区别 一个程序至少有一个进程,一个进程至少有一个线程; 线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高; 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率; 线程不能够独立执行,必须依存在进程中; 3> 优缺点:线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反 4> 协程:我们假设把一个进程比作我们实际生活中的一个兰州拉面馆,那么负责保持拉面馆运行的服务员就是线程了,每个餐桌代表要完成的任务。 当我们用多线程完成任务时,模式是这样的==》每来一桌的客人,就在那张桌子上安排一个服务员,即有多少桌客人就得对应多少个服务员; 而当我们用协程来完成任务时,模式却有所不同了==》 就安排一个服务员,来吃饭得有一个点餐和等菜的过程,当A在点菜,就去B服务,B叫了菜在等待,我就去C,当C也在等菜并且A点菜点完了,赶紧到A来服务… …依次类推。 从上面的例子可以看出,想要使用协程,那么我们的任务必须有等待。当我们要完成的任务有耗时任务,属于IO密集型任务时,我们使用协程来执行任务会节省很多的资源(一个服务员和多个服务员的区别。##能一个人服务一个店铺,这样的超人给我来一打 (-..-)), 并且可以极大的利用到系统的资源。 Python中进程、线程、协程及其区别 标签:python 管理 不能 关系 线程 调度 店铺 分配 超人 原文地址:https://www.cnblogs.com/zxy01/p/14176156.html
下一篇:腾讯T4深入解析Java多线程
文章标题:Python中进程、线程、协程及其区别
文章链接:http://soscw.com/index.php/essay/62262.html