Endlosschleife
aus Wikipedia, der freien Enzyklopädie
Eine Endlosschleife im Sinne der Informatik ist eine Schleife, die nach jeder Abarbeitung erneut abgearbeitet wird, falls nicht äußere Einflüsse dies unterbinden. Äußere Einflüsse sind solche, die im idealtypischen Ablauf des Programms nicht vorkommen, beispielsweise das Abschalten des Computers.
[Bearbeiten] Computer
Endlosschleifen können bei der Programmierung vorkommen. Diese sind Schleifen, deren Abbruchbedingung nie eintritt. So ist zum Beispiel die Steuerung der Maus eine gewollte Endlosschleife, die auf eine Bewegung wartet und dann dementsprechend reagiert. Bei Multitasking-Systemen laufen mehrere Endlosschleifen zur Abfrage von Benutzereingaben parallel, bei einem Singletasking-System nur eine.
Fehlerhafte Abbruchbedingungen verursachen häufig unbeabsichtigte Endlosschleifen. Je nach Programm kann sich ein solcher Fehler unterschiedlich äußern. Falls innerhalb des Schleifenrumpfs wiederholte Ressourcen, wie z.B. Hauptspeicher, belegt und nicht wieder freigegeben werde, so führt dies im Allgemeinen zu einem Speicherleck und einem Programmabbruch. Endlosschleifen können sich aber auch durch simple Inaktivität des Programms dem Benutzer gegenüber äußern.
Ein paar Beispiele:
1. eine Iteration, die versäumt, die Abbruchbedingung zu erreichen, z.B.
i <-- 0 while (i < 5) ... (man vergisst i zu erhöhen) end
2. eine Rekursion, die es versäumt, die Abbruchbedingung zu erreichen, z.B.
(define (fakultät N) ; man vergisst, den Basisfall (<= N 1) o.ä. zu prüfen (* N (fakultät (- N 1))))
3. der einfachste Fall einer Endlosschleife wird solange ausgeführt, wie 'true' wahr ist - also für immer...
while (true) { ... }
[Bearbeiten] Andere Beispiele
Außerhalb der Informatik bezeichnet eine Endlosschleife eine Rekursion, also etwas prinzipiell Wiederkehrendes, bis es von außen (aber nicht notwendig) unterbrochen wird.
Auch geometrische Figuren sind mögliche Endlosschleifen, wie zum Beispiel der Kreis oder das Möbiusband. Hierzu stellt man sich vor, sich auf dem Objekt zu bewegen. Eine vollständige Umrundung des Objekts kehrt nun immer wieder.
In der Tonbandtechnik ist eine Endlosschleife bei normalen MCs nicht möglich, lediglich 8-Spur-Kassetten verfügen über ein umlaufendes Endlosband.
Eine Rückkopplung ist eine Endlosschleife, da das immer gleiche Schallmuster erst von den Lautsprechern ausgegeben, vom Mikrofon wieder aufgenommen, und so wiederkehrend ausgegeben wird.
In der deutschen Umgangssprache wird der Begriff Endlosschleife bisweilen benutzt, um einen Vorgang zu beschreiben, bei dem sich „die Katze in den Schwanz beißt“, zum Beispiel:
- man landet bei einer Hotline nach Auswahl aller zutreffenden Optionen wieder am Ausgangspunkt (siehe auch Buchbinder Wanninger von Karl Valentin).
- eine Diskussion „dreht sich im Kreis“, und scheint ohne zusätzliche, neue Argumente in absehbarer Zeit zu keinem Ergebnis zu führen.
- in einem "Teufelskreis" ist die Folge eines Problems gleichzeitig dessen Ursache, wodurch eine Lösung des Problems unmöglich ist.