Entwickler-Ecke

Windows API - Handle und Mutex


Xenar - Sa 22.10.05 12:39
Titel: Handle und Mutex
Hallo,

kann mir einer kurz und knackig erklären was ein Handle und was ein Mutex ist. :?:

Danke Xenar


Narses - So 23.10.05 23:51

Moin!

Da bisher keiner der "Götter" :wink: geantwortet hat, versuche ich das mal:

Handle: Eine im Kontext eindeutige Referenznummer auf ein extern verwaltetes Objekt (z.B. einen Ein-/Ausgabe-Zeichenstrom (z.B. Datei), ein Bild, ein Gerät, etc.). Beispiel: Du öffnest eine Datei. Dazu rufst du eine Systemfunktion mit den entsprechenden Parametern auf. Die Systemfunktion liefert dir im Erfolgsfall eine (für diese Systemfunktionsgruppe) eindeutige Referenznummer auf die geöffnete Datei zurück, anhand derer das Betriebssystem "deine" Datei wiedererkennt, wenn du damit arbeiten willst.

Ein Mutex ist nix weiter, als eine Zeichenkette, auf die du ein systemweit(!) eindeutiges Handle erhälst. Auf diese Weise kann immer nur ein einziges Mal eine entsprechende Zeichenkette "registriert" werden. Benutzt man dazu, systemweit einmalige Vorgänge/Prozesse/etc. zu verwalten bzw. zu synchronisieren (klassisch: mehrfachen Programmstart verhindern).

Ein Handle und ein Mutex sind sich in dieser Weise ähnlich: Ein Mutex ist auch ein Handle, aber ein Handle ist kein Mutex (vereinfacht ausgedrückt).

cu
Narses