Python 死循环效率问题

这章我们继续讲解死循环的问题。

还是用上章的代码举例子,如果我把numbers+=1给注释掉,那么这个while循环的条件永远为真了。

直接变成了死循环,这种死循环对cpu的消耗不大,但是你同时运行几个这样的Python程序,就可能有一定的效率问题了。

你可以自己试试,同时运行刚刚的代码好几次。

首先点击,上面的菜单栏,然后点击第一个编辑配置。

然后再点击勾选允许并行运行。

你再把文件多运行几次,如果你的风扇声音大起来了,说明你的cpu在疯狂运行。这里我就不给你们演示了,为了保护我自己的电脑!

我们再来看另一种死循环。

这三行代码就不会对电脑造成影响,不管你运行多少个也不会有效率问题。我们来运行一下看,结果就是你让你输入。

然后我们再试试敲回车,敲回车也是一样的,还是让你输入。

我们再输入看看,随便输入字符。我们输入什么,它就打印什么。

这个确实就是死循环,但是它不会有效率问题。可是还有一种情况,会有致命的效率问题。

我再写一个死循环,然后打印它。什么都没有,因为我没有打印输出内容,所以看起来程序像是卡住了,但是我们的程序现在正在不停的循环,不停的算10+10。

我们写程序是要控制计算机硬件的,这段程序往底层分析实际上是在控制CPU,让cpu帮我们不停的运算10+10这个操作。

我们上面的代码input是输入,也就是I操作,print这叫打印输出也叫output,O操作,IO操作我最前面就讲过,就是控制你的CPU,告诉CPU要执行这行代码,运行到“请输入”这里的时候,等待用户输入内容后,CPU才能运行下一行代码。程序等待过程中,CPU就开始休息了。

但是10+10,这个代码不是,它是让CPU不停的运算10+10,一点都没休息时间,像奴隶一样。

最后我们总结一下,死循环本身来说是无害的,我们也会常用死循环,但是计算无IO的死循环就会有致命的效率问题,导致你的电脑寿命损伤

未经允许不得转载:445IT之家 » Python 死循环效率问题

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏