知其然,知其所以然。只知其然,不知其所以然,则学习如空中楼阁。
欢迎来到本系列最核心的课程,异步并发爬虫。本部分分为三篇博客来叙述,准备好上车了吗?
文章开始,我们先来看一下线程池的使用与效果。不知道效果就一味的讲为什么会怎么怎么样,显得枯燥。
什么是线程? 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,多线程类似于同时执行多个不同程序。
什么是进程? 进程是一段程序的执行过程。
官方话我就不说了,当我们运行一个程序的时候,那就是一个进程了,我们的电脑就要为这个程序的运行分配资源,所以我们的程序才能跑得起来。而一个进程理论上只能干一件事情,但是有时候却需要我们同时干很多事情,这时候就需要再进程内部再行划分,开辟出一堆的线程,每个线程各司其职。这样一个进程就可以干很多的事情了。
线程的生命周期是短暂的,在执行完它们的任务之后就要被进程回收。因为线程是要消耗资源的啊,干完了活儿,留着占位置?
线程池 ,即是预先开辟了一部分线程,等到要用的时候将任务分配给它们,任务结束之后让它们再度进入休眠状态。 所谓线程池,是一个比较虚的概念,这个池子是真的存在的吗?其实不然。我们人为的将那一部分预先开辟的线程视为放在了一个池子里&