python3多线程应用详解(第一卷:线程的本质概念)

Posted woshiruge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3多线程应用详解(第一卷:线程的本质概念)相关的知识,希望对你有一定的参考价值。

之前我用过多线程的方式执行了爬虫程序,爬取了糗事百科的数据可以看到速率非常之快,就像正常一个人他要完一个汉堡,再吃喝一瓶水才能走,结果他边吃汉堡边喝水,速率一下加快了一样。首先我们看看什么是线程:

技术分享图片

图中我将一个PY文件的内容,进行了细化,这个PY文件如果要执行,那么他这个行为就叫做一个进程,那么线程呢我们来看下PY文件的内容图

技术分享图片

可以看到这个PY文件内的函数任务执行顺序是从1-3的从上向下的执行一直到结束,而这条工作线就叫做线程,所以说一个进程就会拥有一个线程,

你可以这样理解一个进程代表你要建个楼,从开始准备到大楼彻底建造完毕,就是一个线程。有的人会问线程与进程区别,其实现在一想这个问题就是个错误问题,再有人问你你就好好给他讲讲

可以看的出进程对于线程来说就是个管理者

那么一个进程是如何运用他的线程来工作的呢,请看下图:

技术分享图片

 

 看到了吧,这一张大盘子,进程通过解释器再到操作系统调动CPU来执行,这就是一个进程即程序执行的过程。

以上是关于python3多线程应用详解(第一卷:线程的本质概念)的主要内容,如果未能解决你的问题,请参考以下文章

python3多线程应用详解(第三卷:图解多线程中join,守护线程应用)

python3多线程应用详解(第四卷:图解多线程中LOCK)

C++11多线程第一篇:并发基本概念及实现,进程线程基本概念

C++11多线程第一篇:并发基本概念及实现,进程线程基本概念

Java多线程详解我与多线程的第一次接触

秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别