Threads versus Prozesse

Beginner Algorithmen und Datenstrukturen Deutsch
Also available: English
Created by Best · 16.08.2026 at 09:13 UTC

Ein Prozess hat eigenen Adressraum. Threads desselben Prozesses teilen den Heap, haben aber eigene Stacks. In Java startet man Threads über Thread oder Executor-Dienste.

Nebenläufigkeit ermöglicht Parallelität auf Mehrkernsystemen, erfordert aber Synchronisation.

Wo gebraucht

Web-Worker-Pools, parallele Requests, Hintergrundjobs. Prozesse isolieren Adressräume (Sicherheit, Crash); Threads teilen Heap und brauchen Synchronisation.

Vertiefung

Prozesse besitzen getrennte virtuelle Adressräume und werden vom Betriebssystem stärker voneinander isoliert. Kommunikation benötigt explizite Mechanismen wie Pipes, Sockets oder gemeinsam eingerichtete Speicherbereiche. Ein Fehler in einem Prozess beschädigt daher nicht ohne Weiteres die Daten eines anderen.

Threads eines Prozesses sehen dieselben Objekte und Ressourcen, besitzen aber eigene Aufrufstapel und Registerzustände. Der Austausch ist dadurch günstig, zugleich entstehen Synchronisationspflichten. Die Wahl hängt von Isolation, Kommunikationsaufwand und der Art der Arbeit ab.

Schwierigkeitsstufen

  1. Getrennte und gemeinsam sichtbare Zustände unterscheiden.
  2. Kommunikations- und Fehlerisolationskosten abwägen.
  3. Eine CPU- oder I/O-lastige Aufgabe einer geeigneten Struktur zuordnen.

Fallstricke

Threads laufen nicht zwingend gleichzeitig, sondern können nur zeitlich verschachtelt werden. Mehrere Prozesse garantieren ebenfalls keine Beschleunigung, wenn Kommunikation oder Ressourcenknappheit dominieren.

University approvals: 0
Tasks
Question 1

Was teilen Threads eines Java-Prozesses typischerweise?

Question 2

Welche Eigenschaft spricht bei fehleranfälligen Komponenten eher für getrennte Prozesse?

Question 3

Gib die ID des aktuell laufenden Threads zurück.

Hint

Den aktuellen Thread liefert Thread.currentThread(). Seine ID ist über die passende Instanzmethode als long verfügbar.

Starter code is prefilled; replace TODO blocks with your solution.
1 test case will be used for grading
Run checks runtime behavior only. Final correctness is evaluated when you submit.
Card Info
  • Topic: Algorithmen und Datenstrukturen
  • Difficulty: Beginner
  • Completed: 0 users
Creator
Best
Best
BestBuddy