Zum Inhalt springen

Nebenläufigkeit

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. August 2003 um 10:38 Uhr durch Dishayloo (Diskussion | Beiträge) (erweitert). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Nebenläufigkeit bezeichnet die Eigenschaft von Programmcode nicht linear hintereinander ausgeführt zu werden, sondern parallel ausführbar zu sein. Die Nebenläufigkeit von mehreren unabhängigen Prozessen bezeichnet man als Multitasking; Nebenläufigkeit innerhalb eines Prozesses als Multithreading.

Daraus können sich einige Probleme ergeben:

  • Der Kontext jedes Programmteils vor unerwarteter Veränderung durch andere Teile geschützt werden. Sollen Daten gemeinsam bearbeitet werden, dann muss der Zugriff synchronisiert werden, z.B. durch Benutzung von Monitoren.
  • Ist die Ausführung der Programmteile voneinander abhängig, können Situationen entstehen, in denen zwei Teile jeweils aufeinander warten (Deadlock) oder ein Programmteil eine Resource nie nutzen kann, da ihm immer andere zuvorkommen (Verhungern/Starvation).