Python中实现异步的框架有很多,但核心思想大概是基于以下两种方法
twister
geventtwister
1、twister
twister的思想是封装异步操作,通过回调来操作。我们可以看到scrapy中中间请求的实现是twister方法。
scrapy.Request(url='xxx', callback=func)
通过传递封装好的请求,当框架帮我们完成请求后,会通过callback回调。如果你的请求很简单,没关系,你只需要回拨一次。如果你的请求比较复杂,那么你就会进入回调地狱(callback hell)
2、gevent
gevent 是一个使用完全同步编程模型的可扩展异步 I/O 框架。
所有的异步I/O都依赖于
相同的模式。不是代码如何运行,而是等待完成的地方。多路I/O操作需要统一处理,所以wait只出现在代码的一处。当事件触发时,异步系统需要恢复等待这个事件的代码块。
以上就是python实现异步的两个框架,希望对大家有所帮助。
更多
Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python语言编程题:如何求数组的连续最大和12/04
- ♥ python3不能使用中文怎么办?11/23
- ♥ 如何解决python列表无法显示汉字的问题?11/30
- ♥ python对就业有好处吗?09/06
- ♥ python安装后找不到cmd怎么办?08/20
- ♥ 什么是python mat文件12/14
内容反馈