AP2Lernhub
Niedrig

Nebenläufigkeit

Synchron, asynchron, parallel – Grundbegriffe und Fallstricke.

Warum Priorität „Niedrig"? Selten oder als Randthema (unter 40%). Überblick reicht meist.

Lernziele

  • Synchron, asynchron, nebenläufig und parallel unterscheiden
  • Race Condition und Deadlock erkennen
  • Synchronisationsmechanismen benennen

Grundbegriffe

  • Synchron: Aufrufer wartet, bis das Ergebnis da ist.
  • Asynchron: Aufruf kehrt sofort zurück, Ergebnis später (Future/Promise).
  • Nebenläufig: logisch gleichzeitig – auch verschachtelt auf einem Kern.
  • Parallel: tatsächlich gleichzeitig auf mehreren Kernen.

Typische Probleme

  • Race Condition: Ergebnis hängt von der zufälligen Ausführungsreihenfolge ab (ungeschützter gemeinsamer Zustand).
  • Deadlock: zwei Threads warten zyklisch aufeinander. Lösung: einheitliche Sperrreihenfolge, Timeouts.
  • Livelock / Starvation: Threads arbeiten, kommen aber nicht voran.

Synchronisation

javasynchronized schützt den kritischen Abschnitt
class Zaehler {
    private int n = 0;
    public synchronized void inc() { n++; }
}
tsasync / await in TypeScript
async function laden() {
    const res = await fetch("/api");   // nicht blockierend
    return res.json();
}

Übungen

Eine AntwortWas ist eine Race Condition?

Eine AntwortWofür steht `await` in async/await?

Verwandte Themen