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,爬1000张页面。aio.py脚本是协程;asy2.py脚本是多线程,线程数是15)
(测试2,爬10000张页面。aio.py脚本是协程;asy2.py脚本是多线程,线程数是100)
至于为什么快,我的理解是,协程更适合高IO操作,低计算密集的程序,而爬虫本质上其实都是IO操作(请求网络内容并下载是网络IO,下载下来并写入硬盘也是本地IO)。
而多线程之所以在这方面没有协程快,主要是因为:
线程开销更大(主要在于占用cpu资源,以及多线程之间上下文切换的开销,参考:多线程的线程开销)
而实际上爬虫在干什么呢?不停下载数据而已,基本都不需要cpu计算,所以要cpu的开销做什么呢?
最后再来看一下跑2个脚本时我的电脑资源占用对比:
所以为什么协程快?这就一目了然了。
(P.S. 用asyncio需要确保写对了才行,不然可能会反而比多线程慢,要注意。这方面我也还在学习中。)
如何用 CSS 绘制按钮
一般有三种方法:
《ol》《li》Button标签直接使用CSS定义样式,优点是立体感、有按下状态,缺点是样式单一、各浏览器下显示效果不一致。
《/li》《li》a标签+背景图片+滑动门技术,优点是可实现多种视觉效果,缺点是采用滑动门技术会导致背景图片过大。
《/li》《li》a标签直接使用CSS3绘制,优点是在保证视觉效果的基础上大大减少了背景图片的使用,缺点是部分浏览器不兼容。《/li》《/ol》
-con