×

continue用法 con c

continue 的用法?为什么 asyncio 单线程 速度还能那么快

admin admin 发表于2022-06-21 00:23:56 浏览126 评论0

抢沙发发表评论

continue 的用法


continue可用作连系动词,其后可接形容词、介词短语等。如:

■接形容词

He continued silent. 他继续沉默着。

We hope the weather will continue fine. 我们希望天气继续很好。

It did not seem likely that he would continue long in that position. 他似乎不太可能长期留在这个职位。

■接介词短语

Mother continues in weak health. 母亲身体仍然很虚弱。

He continues in good condition. 他的健康情况仍然良好。

After his illness the Minister continued in office though he was no longer up to the work / up to doing the work. 部长生病后继续任职,但他已力不胜任了。

为什么 asyncio 单线程 速度还能那么快


莫凡python asyncio教程那边过来的吧?

我这两天也在学习asyncio,之前都是用threading写爬虫,刚拿我之前的一个贴吧爬虫的需求尝试了一下,确实是快,爬某吧会员列表,协程的速度比我线程的速度要快好几倍:

协程与多线程速度对比1

(测试1,爬1000张页面。aio.py脚本是协程;asy2.py脚本是多线程,线程数是15)

协程与多线程速度对比2

(测试2,爬10000张页面。aio.py脚本是协程;asy2.py脚本是多线程,线程数是100)

至于为什么快,我的理解是,协程更适合高IO操作,低计算密集的程序,而爬虫本质上其实都是IO操作(请求网络内容并下载是网络IO,下载下来并写入硬盘也是本地IO)。

而多线程之所以在这方面没有协程快,主要是因为:

线程开销更大(主要在于占用cpu资源,以及多线程之间上下文切换的开销,参考:多线程的线程开销)

而实际上爬虫在干什么呢?不停下载数据而已,基本都不需要cpu计算,所以要cpu的开销做什么呢?


最后再来看一下跑2个脚本时我的电脑资源占用对比:

跑协程时

跑多线程(线程数100)时

所以为什么协程快?这就一目了然了。

(P.S. 用asyncio需要确保写对了才行,不然可能会反而比多线程慢,要注意。这方面我也还在学习中。)


如何用 CSS 绘制按钮


一般有三种方法:
《ol》《li》Button标签直接使用CSS定义样式,优点是立体感、有按下状态,缺点是样式单一、各浏览器下显示效果不一致。
《/li》《li》a标签+背景图片+滑动门技术,优点是可实现多种视觉效果,缺点是采用滑动门技术会导致背景图片过大。
《/li》《li》a标签直接使用CSS3绘制,优点是在保证视觉效果的基础上大大减少了背景图片的使用,缺点是部分浏览器不兼容。《/li》《/ol》
-con