标签: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 管理 不能 关系 线程 调度 店铺 分配 超人
原文地址:https://www.cnblogs.com/zxy01/p/14176156.html