Zurück zur Übersicht

Begriff

Monitor

Computer Science Concurrency S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Semaphoren und Mutexe sind wie manuelle Schlösser. Man vergisst leicht, sie zuzuschließen oder aufzuschließen. Ein Monitor ist ein "sicheres Gebäude". Regel: "Es darf immer nur eine Person im Gebäude sein." Der Pförtner (Compiler/Sprache) passt automatisch auf. Wenn du in eine Methode synchronized (in Java) schreibst, wird das Gebäude automatisch abgeschlossen, wenn du reingehst, und aufgeschlossen, wenn du rausgehst (auch bei Fehlern). Es ist eine höhere Abstraktion, um Programmieren sicherer zu machen.

Merksatz: Ein Synchronisationsmechanismus, der Daten und Methoden kapselt und sicherstellt, dass nur ein Thread gleichzeitig darauf zugreifen kann.


Quick-Check

  1. Nutzt Python Monitore?
    Ja, threading.Condition oder with lock:. Das with-Statement garantiert das automatische Aufschließen.
  2. Ist es idiotensicher?
    Nicht ganz. Man kann immer noch Deadlocks bauen (z. B. wait() aufrufen und niemand ruft jemals notify()). Aber es verhindert vergessene Unlocks.
  3. Warum Monitor?
    Das Wort kommt von "Überwachen/Kontrollieren". Der Monitor überwacht den Zugriff.