Python多线程操作。(threading)未完,待续

老样子,先上参考连接:

https://www.cnblogs.com/jiangfan95/p/11439543.html

https://www.liaoxuefeng.com/wiki/1016959663602400/1017629247922688

https://blog.csdn.net/mr__l1u/article/details/81772073

先复制一篇进程与线程的特点。

1> 进程、线程和协程的认识:

  进程是系统进行资源分配和调度的独立单位;

  线程是进程的实体,是CPU调度和分派的基本单位;

  协程也是线程,称微线程,自带CPU上下文,是比线程更小的执行单元;

2> 区别

  一个程序至少有一个进程,一个进程至少有一个线程;

  线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高;

  进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率;

  线程不能够独立执行,必须依存在进程中;

3> 优缺点:线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反

4> 协程:我们假设把一个进程比作我们实际生活中的一个兰州拉面馆,那么负责保持拉面馆运行的服务员就是线程了,每个餐桌代表要完成的任务。

  当我们用多线程完成任务时,模式是这样的==》每来一桌的客人,就在那张桌子上安排一个服务员,即有多少桌客人就得对应多少个服务员;

  而当我们用协程来完成任务时,模式却有所不同了==》 就安排一个服务员,来吃饭得有一个点餐和等菜的过程,当A在点菜,就去B服务,B叫了菜在等待,我就去C,当C也在等菜并且A点菜点完了,赶紧到A来服务… …依次类推。

  从上面的例子可以看出,想要使用协程,那么我们的任务必须有等待。当我们要完成的任务有耗时任务,属于IO密集型任务时,我们使用协程来执行任务会节省很多的资源(一个服务员和多个服务员的区别。##能一个人服务一个店铺,这样的超人给我来一打 (-..-)), 并且可以极大的利用到系统的资源。

上面的介绍,我觉的还是比较不错的,第三个链接可以点进去看原文。

猜你喜欢

转载自www.cnblogs.com/sidianok/p/12020060.html