出于好奇,所有无限循环都不好吗?
- 如果运行无限循环会发生什么不良影响和后果?
- 另外,如果它们不都是坏的,你能否举一些例子,它们什么时候会起到有意义的作用?
- 他们是否需要一些东西来关闭实例?例如,我们总是在 Java 中使用 StreamReader 后关闭它(不知道为什么)。
出于好奇,所有无限循环都不好吗?
我不确定你所说的“坏”是什么意思。
无限循环在许多场景中很常见,主要是事件处理程序循环,其中程序位于无限循环中并等待一些外部事件发生,该事件被处理并返回等待。这是 GUI 和许多服务器的编程方式。
更新 它们足以证明某些语言中的无限循环构造的合理性。
不,它们还不错,它们实际上很有用。
这取决于您是否留下了在无限循环进行时占用内存的代码部分。无限循环几乎用于所有事物:视频游戏、网络、机器学习等,因为无限循环通常用于获取瞬时用户输入/事件。
以一个简单的服务器为例,监听连接
这种情况很常见,你在事件处理中经常看到。
消极的
他们是否需要一些东西来关闭实例?
您有时会听到短语killer loop,指的是行为不良的循环(无限或其他)。通常保留用于无意中消耗大量 CPU 时间、内存或两者兼有的循环。所有的杀手循环都是坏的。
根据您的糖尿病状况,Froot Loops 也可以成为杀手循环。
莫比乌斯带是很好的无限循环。
术语“无限循环”最常用于程序中的循环,如果没有可以终止它的外部动作,它不会终止。在大多数情况下,使用“中断键”向操作系统发送中断信号将证明它毕竟不是无限循环。通常,电涌或停电也会发生同样的情况。在某些带有某些操作系统的平台上,可能会出现其他中断信号并停止进程。
因此,伪无限循环对于您不想终止的进程很有用,除非受到一些“外部”影响。
在实时程序中,无限循环是正常的。看看 Arduino IDE - 唯一公开的两个函数是 setup() 和 loop()。假定除非断电,否则 loop() 将永远不会退出。