这章我们继续讲解死循环的问题。
还是用上章的代码举例子,如果我把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 死循环效率问题