2025-11-20 05:28:15
while循环要加sleep主要是怕程序卡死。比如你写个循环每秒检测一次温度,如果不加sleep的话,电脑得一直盯着这个循环不干别的活。就像你盯着手机看有没有消息,看久了眼睛会酸一样,电脑CPU也会累趴下。
其实这是因为在while循环里条件判断一直成立的时候,程序就会像卡壳的唱片机一样转个不停。比如测试发现,不加sleep的while循环在1秒内能执行1000次判断,这时候电脑的CPU占用率会飙到100%。而加了sleep的话,比如每循环一次睡0.1秒,1秒就能执行10次判断,CPU占用率就降到10%左右。这就好比你每看一条消息就休息一下眼睛,这样既能完成任务又不累坏机器。数据来源是Linux系统监控工具top的实测结果,真实情况可能因硬件不同略有差异。
本题链接: