Unterschied zwischen Mutex und Semaphor
- 939
- 88
- Cem Schlitzer
Mutex vs Semaphor
Mutex wird verwendet, um einen serialisierten Zugriff auf einen Teil eines Wiedereintrittscodes zu ermöglichen, der nicht parallel von mehr als einem Thread ausgeführt werden kann. Ein Mutex stellt sicher, dass nur ein Code gleichzeitig auf den kontrollierten Abschnitt zugreifen kann. Um Zugriff zu erhalten, müssen andere Codes warten, bis der erste Code beendet ist. Sie können es als ein Schlüssel für einen Raum betrachten. Die Person, die zuerst Zugriff auf diesen Schlüssel hat. Bis zu der Zeit, als die Person zurückkehrt, kann niemand sonst auf diesen Raum zugreifen.
Semaphore gibt gleichzeitig Zugriff auf eine gemeinsame Ressource auf eine Reihe von Benutzern. Wenn die Anzahl der Benutzer, die auf die Ressource zugreifen. Sobald die Benutzer mit der Veröffentlichung der Ressource beginnen, steigt die Anzahl der Semaphoren erneut an. Es wird von Anwendungen verwendet, die eine Synchronisation erfordern. Die Anzahl der gleichzeitigen Benutzer wird basierend auf der Semaphor -Grenze eingeschränkt. Ein Semaphor kann als eine Reihe ähnlicher Schlüssel zu ähnlichen Schlössern wie in einem Raum betrachtet werden, aber diese Schlüssel sind in der Anzahl begrenzt. Menschen, die diese Schlüssel haben, können den Raum teilen.
Unterschiede zwischen Mutex und Semaphor:
1. Mutex wird für den gegenseitigen Ausschluss verwendet, während Semaphore seinen Nutzen in beiden Ereignissen findet
Benachrichtigung und gegenseitige Ausschlüsse.
2. Mutex bietet einen seriellen Zugriff auf gemeinsame Ressourcen, während Semaphore eine Begrenzung vorliegt
die Anzahl der gleichzeitigen Zugriffe.
3. Ein Mutex funktioniert gleichzeitig mit einem Thread, während Semaphore mehrere Threads verwaltet
zusammen.
4. Mutex hat ein Konzept eines Eigentümer
Öffnen Sie es wieder. Keiner der anderen Prozesse kann dies tun. Aber im Fall von Semaphor so
Beschränkungen existieren nicht.
5. Ein Mutex ist ein Verriegelungsmechanismus, während ein Semaphor ein Signalmechanismus mit ist
Respekt auf die Synchronisierung des Zugriffs auf eine Ressource.
Zusammenfassung:
1. Semantisch und theoretisch sind sowohl Mutex als auch Semaphor dieselbe. Man kann sein
mit dem anderen implementiert, aber praktisch beide sind unterschiedlich.
2. Ein Mustex ist nichts anderes als ein Semaphor mit einem Zählwert, der einem entspricht.
3. Ein Mutex ist ein Semaphor mit zusätzlichen Funktionen wie Eigentümer und Prioritätsumkehrung
Schutz.
4. Ein Semaphor ist ein abstrakter Datentyp, der den Zugriff auf eine gemeinsame Ressource von steuert
Mehrere Prozesse in einer parallelen Programmierumgebung.
5. Semaphor findet seine Verwendung in vielen Betriebssystemen als Synchronisation primitiv.
6. Sowohl Mutex als auch Semaphor sind Kernelressourcen, die für den Zweck von verwendet werden
Synchronisation.