Eintrittsinvarianz

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

In der Programmierung wird eine Routine bzw. Methode als eintrittsinvariant (engl. reentrant) oder auch wiedereintrittsfähig bezeichnet, wenn sie so implementiert ist, dass sie bei einem vorzeitigen Abbruch unmittelbar erneut aufgerufen werden kann und dabei das ursprünglich erwartete Ergebnis zurückliefert. Dies schließt nicht nur den Rückgabewert ein, sondern alle durch die Methode beeinflussbaren Programmparameter. Eine reentrante Methode verhält sich daher so, als wäre sie implizit in eine Transaktion gekapselt. Auch ganze Computerprogramme oder Skripte werden unter diesem Gesichtspunkt bewertet.

Für reentrante Methoden gilt oft, dass sich gleichzeitig ausgeführte Instanzen nicht gegenseitig beeinflussen können. Die Ausführung jeder Instanz läuft dann identisch ab, egal wie viele andere Instanzen es noch von dieser Methode gibt. Ziel des Designs für eine solche eintrittsinvariante Methode ist es, sicherzustellen, dass kein Teil des Programmcodes selbst durch die Methode geändert wird und dass prozesseigene Informationen wie beispielsweise lokale Variablen in getrennten Speicherbereichen gehalten werden.

Eintrittsinvariante Programmkonstrukte sind die Basis für viele Multitasking-Systeme (Threadsicherheit).