* * *
Nebenläufigkeit
[engl. concurrency], die Eigenschaft, dass zwei gleichzeitig laufende Prozesse unabhängig voneinander abgearbeitet werden können. Dabei ist es gleichgültig, ob die Prozesse in einer bestimmten Reihenfolge oder gleichzeitig bearbeitet werden; »nebenläufig« ist demnach allgemeiner als »parallel«. Die Nebenläufigkeit von Prozessen ist eine Voraussetzung für Multitasking oder Multithreading. Ein Modell zur Beschreibung und Analyse nebenläufiger Prozesse ist das Petri-Netz.
Die Nebenläufigkeit ist ein Konzept der theoretischen Informatik, das sich in Rechenanlagen nur unzureichend verwirklichen lässt: Es verspricht eine optimale Ausnutzung des Systems. In der Realität gibt es aber stets eine Konkurrenz um die Ressourcen, sodass zwei nebenläufige Prozesse nur bezüglich ihrer Abarbeitung unabhängig voneinander sind; sie hängen aber indirekt doch voneinander ab, wenn sie gleichzeitig auf dieselbe Ressource (z. B. Drucker, Datenträger u. Ä.) zugreifen. Um solche Konflikte zu umgehen, muss man nebenläufige Prozesse synchronisieren, d. h. dafür sorgen, dass gleichzeitig ausführbare Operationen im Konfliktfall nacheinander abgearbeitet werden. Dies lässt sich realisieren, indem die Prozesse untereinander Nachrichten austauschen (etwa mithilfe eines Semaphors) und damit für die Dauer eines Zugriffs (z. B. auf einen Drucker) die Ressource für andere Prozesse sperren; erst nach der Freigabe ist die Ressource wieder allgemein zugänglich. Gegenseitige Verklemmungen (ein bekanntes Beispiel ist das Philosophenproblem) lassen sich durch weitere Überprüfungen verhindern.
Universal-Lexikon. 2012.