Timeout
aus Wikipedia, der freien Enzyklopädie
[Bearbeiten] Wortbedeutung
Timeout bezeichnet in der Programmierung und Netzwerktechnik entweder
- die Zeitspanne, die ein Vorgang in Anspruch nehmen darf, bevor er mit einem Fehler abgebrochen wird, oder
- den Fehler selbst, der nach der Zeitüberschreitung ausgelöst wird.
Diese Zweideutigkeit existiert im Deutschen nicht, hier wird zwischen Zeitbeschränkung und Zeitüberschreitung unterschieden. Obwohl die deutschen Begriffe leicht verständlich und treffend sind, setzt sich zunehmend das englische "Timeout" durch (-> Denglish).
[Bearbeiten] Anwendung
Zeitbeschränkungen sind vor allem dann sinnvoll, wenn vermieden werden soll, dass ein Prozess "hängen bleibt", weil er auf etwas wartet, das niemals eintritt. In Bezug auf die Prozesssynchronisation ist ein Timeout die Zeitspanne, für die auf das Eintreten einer Bedingung gewartet werden soll, bevor ein Fehler ausgelöst wird. Speziell in Bezug auf Computernetzwerke bezeichnen Timeouts die Zeit, die auf eine Antwort gewartet wird, bevor ein Datenpaket als verloren gilt und entweder noch einmal übertragen werden muss (retry), oder die Kommunikation mit einem (Timeout-)Fehler abgebrochen wird.
[Bearbeiten] Zeitbasis
Der Timeout muss sich nicht unbedingt auf eine Echtzeituhr beziehen, er kann sich auch an einem anderen Zähler orientieren. Einige Netzwerkprotokolle schränken zum Beispiel ein, wie oft ein Datenpaket weitergereicht werden darf (siehe Routing). Das Internet Protocol hat zum Beispiel dafür im Kopfdatenbereich ein Feld namens TTL (Time to live, deutsch etwa: zu lebende Zeit, Lebensdauer), bei dem eine anfänglich festgelegte Zahl (bei IPv4 meist ein vielfaches von 32) von jedem Router herabgesetzt wird, bis das Paket schließlich gelöscht wird, falls der TTL null erreicht. Somit kann erreicht werden, dass Pakete nicht ewig weiterversandt, sondern irgendwann gelöscht werden, was die Effizienz des Internet erhöht. Der ursprüngliche Sinn war ebenfalls ein Zeitfenster, welches aber mangels Zeit-Synchronisation unter den Routern darin endete, dass eben jeder Router diese Zahl dekrementierte (um mindestens 1 herabsetzen).