爬虫日记(93):Twisted的设计模型

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(93):Twisted的设计模型相关的知识,希望对你有一定的参考价值。

由于scrapy的代码采用twisted的框架来设计,因此需要继续来学习twisted的内容,才可以更加深入地了解scrapy的代码实现方式,以及借鉴scrapy的代码来开发自己的项目,或者在scrapy里添加新的内容。

我们知道程序运行有以下几种模型:顺序执行、异步执行、多线程执行,接着下来比较一下这几个模型的优缺点:

这个单线程同步执行的模型,这三个任务是按顺序执行,每一个任务完成了才执行下一个,这是python里最基本的开发模式,这种方式比较简单,只需要一个线程,在这个线程里同一个时间只会执行一个任务,如果任务需要等待就会等着,直到这个任务执行完成了才会去执行别的任务,这样确保了所有资源是一致的,不存在竞争关系,因此不会出现死锁现象,不存在调度的关系。这种方式是程序员最喜欢的方式,也是比较常用的方式,因为简单所以才能快速开发。

以上是关于爬虫日记(93):Twisted的设计模型的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(107):Twisted:使用生成器构造回调函数

爬虫日记(81):Twisted的线程池使用

爬虫日记(79):Twisted的延时机制

爬虫日记(82):Twisted的线程返回值

爬虫日记(80):Twisted的循环任务

爬虫日记(95):Twisted开发异步程序基础