Skip to main content

2018 | OriginalPaper | Buchkapitel

4. Semaphore

verfasst von : Christian Maurer

Erschienen in: Nichtsequentielle und Verteilte Programmierung mit Go

Verlag: Springer Fachmedien Wiesbaden

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Zusammenfassung

Wenn sich auch einfache Synchronisationsprobleme durch die Verwendung von Schlossalgorithmen lösen lassen, bergen ihre Implementierungen jedoch eine ganze Reihe von Nachteilen. Die älteste Idee zur Beseitigung einiger dieser Nachteile ist das Synchronisations-Konstrukt der Semaphore von Dijkstra. In diesem Kapitel werden seine Ideen vorgestellt und an vielen Anwendungen wird demonstriert, wie sich Semaphore einsetzen lassen.
In diesem Kapitel werden binäre und – im Kontext beschränkter Puffer – allgemeine Semaphore spezifiziert und die wechselseitigen Beziehungen zwischen ihnen erörtert; und nachdem Dijkstras schlafender Barbier geweckt ist, wird auf die Tücken der Konstruktion allgemeiner Semaphore aus binären hingewiesen. Das Leser-Schreiber-Problem und einige seiner Lösungen mit Semaphoren führen zum Muster des Staffelstab-Algorithmus. Ferner werden einige spezielle Fragen behandelt: Additive Semaphore, Barrierensynchronisation, das Links-Rechts-Problem, Dijkstras speisende Philosophen, das Problem der Zigarettenraucher, Hinweise zur Implementierung von Semaphoren und das Konvoi-Phänomen.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Andrews GR (1991) Concurrent programming, principles and practice. Addison-Wesley, Menlo Park Andrews GR (1991) Concurrent programming, principles and practice. Addison-Wesley, Menlo Park
2.
Zurück zum Zitat Andrews GR (2000) Foundations of multithreaded, parallel and distributed programming. Addison-Wesley, Reading Andrews GR (2000) Foundations of multithreaded, parallel and distributed programming. Addison-Wesley, Reading
4.
Zurück zum Zitat Ben-Ari M (2006) Principles of concurrent and distributed programming, 2. Aufl. Addison-Wesley, Harlow Ben-Ari M (2006) Principles of concurrent and distributed programming, 2. Aufl. Addison-Wesley, Harlow
5.
Zurück zum Zitat Burns A, Davies G (1993) Concurrent programming. Addison-Wesley, Harlow Burns A, Davies G (1993) Concurrent programming. Addison-Wesley, Harlow
8.
Zurück zum Zitat Dijkstra EW (1965) Cooperating sequential processes. Technical Report EWD-123, Technological University Eindhoven Dijkstra EW (1965) Cooperating sequential processes. Technical Report EWD-123, Technological University Eindhoven
11.
Zurück zum Zitat Gray J, Reuter A (1992) Transaction processing, concepts and techniques. Morgan Kaufman, San Francisco Gray J, Reuter A (1992) Transaction processing, concepts and techniques. Morgan Kaufman, San Francisco
12.
Zurück zum Zitat Herrtwich RG, Hommel G (1994, 1989) Nebenläufige programme (Kooperation und Konkurrenz). Springer, Berlin/HeidelbergCrossRef Herrtwich RG, Hommel G (1994, 1989) Nebenläufige programme (Kooperation und Konkurrenz). Springer, Berlin/HeidelbergCrossRef
17.
Zurück zum Zitat Patil SS (1971) Limitations and capabilities of Dijkstra’s semaphore primitives for coordination among processes. MIT Computations Structures Group, Project MAC 57 Patil SS (1971) Limitations and capabilities of Dijkstra’s semaphore primitives for coordination among processes. MIT Computations Structures Group, Project MAC 57
Metadaten
Titel
Semaphore
verfasst von
Christian Maurer
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-658-21153-0_4