Skip to main content

Was ist eine unendliche Schleife?

Eine unendliche Schleife ist eine Erkrankung, die dazu führt, dass ein Computerprogramm einen Befehl ohne Ende weiter ausführt.Dies ist in der Regel auf eine von drei Ursachen zurückzuführen: Das Programm hat keine Endbedingung, die Endbedingung des Programms ist unerreichbar oder ein Wiederholungsbefehl führt dazu, dass ein Programm kontinuierlich neu gestartet wird.Meistens führt eine unendliche Schleife dazu, dass ein Computer drastisch verlangsamt oder sogar sperrt.In frühen Computern erfordern diese Schleifen häufig einen Neustart, aber moderne Betriebssysteme fangen sie häufig auf und beenden das Programm, bevor sie außer Kontrolle geraten.

Unendliche Schleifen gibt es im Programmieren;Andere Verwendungen des Begriffs sind normalerweise falsch.In den meisten Fällen sind unendliche Schleifen nicht das Endziel des Programms, und irgendwo im Code besteht ein Problem, der die Bedingung auftritt.Jeder der drei Hauptfälle einer unendlichen Schleife ist vollständig programmierend und softwarebasiert.

Wenn ein Programm keine Endbedingung hat, wird es seine letzte Anweisungsmenge ohne Ende weiter ausführen.In vielen Fällen führt dies dazu, dass das Programm einrastet, da es auf eine endgültige Anweisung wartet, die niemals kommen wird.In anderen Fällen wurde die letzte Anweisung des Programms durchgeführt, eine Anweisung auszuführen oder einen Befehl zu verarbeiten.In diesen Fällen wird es diese Dinge weiterhin ohne Ende tun.Dies führt dazu, dass der Computer langsam mit wiederholten Befehlen aus der unendlichen Schleife füllt, bis das gesamte System ohne Ende an einem Problem funktioniert.

Eine ähnliche Situation gibt es, wenn die Endbedingung eines Programms unerreichbar ist.In diesem Fall kann das Programm enden, aber es wird es nie tun.Das Problem mit dem Endpunkt kann in der Programmierung liegen, oder es kann ein Computerfehler sein, der den Zustand verursacht.Wenn beispielsweise ein Programm nach einer bestimmten Information von einem bestimmten Ort fragt, wäre ein Programmierfehler, dass die Informationen an einem anderen Ort gespeichert werden.Wenn die Informationen dagegen zum Programm gehen, jedoch aufgrund von Störungen des Benutzers oder einem anderen Programm unterbrochen werden, kann sie einfach nie ankommen.

Die letzte Ursache für eine unendliche Schleife ist vollständig programmierbasiert.Irgendwo innerhalb der Programmierung ist ein Befehl, der dem Programm angewiesen wird, etwas zu wiederholen.Während diese Befehle üblich sind, sollten die Bedingungen niemals zulassen, dass der wiederholte Befehl wieder auf die erste Wiederholung zurückkehrt.In diesem Fall wird das Programm einen Befehl ausführen, die Wiederholungsanweisung drücken, dann den Befehl erneut ausführen, dann erneut wiederholen und so weiter.Diese Schleifen werden am wahrscheinlichsten absichtlich programmiert, oft als Teil einer Malware.