Was ist eine Endlosschleife?
Eine Endlosschleife ist eine Bedingung, die ein Computerprogramm veranlasst, einen Befehl ohne Ende weiter auszuführen. Dies ist normalerweise auf eine von drei Ursachen zurückzuführen: Das Programm hat keine Endebedingung, die Endebedingung des Programms ist nicht erreichbar, oder ein Wiederholungsbefehl veranlasst einen kontinuierlichen Neustart des Programms. Meistens führt eine Endlosschleife dazu, dass ein Computer drastisch langsamer wird oder sogar abstürzt. In frühen Computern mussten diese Schleifen häufig neu gestartet werden, moderne Betriebssysteme erkennen sie jedoch häufig und beenden das Programm, bevor sie außer Kontrolle geraten.
Innerhalb der Programmierung gibt es Endlosschleifen. andere Verwendungen des Begriffs sind normalerweise falsch. In den meisten Fällen sind Endlosschleifen nicht das Endziel des Programms, und irgendwo im Code liegt ein Problem vor, das das Auftreten der Bedingung verursacht. Jeder der drei Hauptfälle einer Endlosschleife ist vollständig programmier- und softwarebasiert.
Wenn ein Programm keine Endebedingung hat, führt es seinen letzten Befehlssatz ohne Ende weiter aus. In vielen Fällen führt dies dazu, dass das Programm abstürzt, da es auf eine endgültige Anweisung wartet, die niemals eintreten wird. In anderen Fällen wurde als letzte Anweisung an das Programm eine Anweisung ausgeführt oder ein Befehl verarbeitet. In diesen Fällen wird es diese Dinge weiterhin ohne Ende tun. Dadurch füllt sich der Computer langsam mit wiederholten Befehlen aus der Endlosschleife, bis das gesamte System an einem Problem ohne Ende arbeitet.
Eine ähnliche Situation besteht, wenn die Endbedingung eines Programms nicht erreichbar ist. In diesem Fall kann das Programm enden, wird es aber niemals. Das Problem mit dem Endpunkt liegt möglicherweise in der Programmierung, oder es handelt sich um einen Computerfehler, der die Bedingung verursacht. Wenn ein Programm beispielsweise von einem bestimmten Ort aus nach einer bestimmten Information fragt, liegt ein Programmierfehler darin, dass die Information an einem anderen Ort gespeichert wird. Auf der anderen Seite kann es sein, dass die Informationen, die an das Programm gesendet werden, jedoch aufgrund von Störungen durch den Benutzer oder ein anderes Programm unterbrochen werden, einfach nie eintreffen.
Die letzte Ursache einer Endlosschleife ist vollständig programmierbasiert. Irgendwo in der Programmierung befindet sich ein Befehl, der das Programm auffordert, etwas zu wiederholen. Obwohl diese Befehle häufig vorkommen, sollten die Bedingungen niemals zulassen, dass der wiederholte Befehl zur ursprünglichen Wiederholung zurückkehrt. In diesem Fall führt das Programm einen Befehl aus, drückt die Wiederholungsanweisung, führt den Befehl erneut aus und wiederholt ihn dann erneut und so weiter. Diese Schleifen werden am wahrscheinlichsten absichtlich programmiert, häufig als Teil einer Malware.