Heim > tägliche Programmierung > PHP-Kenntnisse > Zwei Beispiele aus dem Leben helfen Ihnen, das „Thread-Synchronisationsprinzip' zu verstehen.

Zwei Beispiele aus dem Leben helfen Ihnen, das „Thread-Synchronisationsprinzip' zu verstehen.

旺崽他爸
Freigeben: 2021-01-20 12:00:39
Original
362 Leute haben es durchsucht

Mehrere Threads (oder Prozesse) möchten denselben spezifischen nicht wiedereintrittsfähigen Programmcodeblock (als kritischer Abschnitt bezeichnet) ausführen, was eine geeignete Synchronisierungstechnologie zur Parallelitätssteuerung erfordert. Andernfalls kann es zu Rennbedingungen kommen.

                                                                                                                          Ressourcenbetriebe müssen einige technische Mittel eingesetzt werden, um kritische Ressourcen zu schützen und Verwirrung bei der allgemeinen Verwendung zu vermeiden.

Um ein einfaches Beispiel zu nennen: Unser Alipay überweist Herrn @wangchai ?1RBM. Zu diesem Zeitpunkt hat er bereits 1 Yuan in seiner Brieftasche, aber wegen dieser beiden Konten werden gleichzeitig eingegeben, sodass das Nicht-Thread-Synchronisierungssystem die folgenden Vorgänge ausführt:

Zwei Beispiele aus dem Leben helfen Ihnen, das „Thread-Synchronisationsprinzip zu verstehen.Der endgültige Brieftaschensaldo der Nicht-Thread-Synchronisierung beträgt 2 Yuan, was offensichtlich falsch ist Thread-Synchronisierung:

Zwei Beispiele aus dem Leben helfen Ihnen, das „Thread-Synchronisationsprinzip zu verstehen.Schließlich beträgt das Guthaben der Brieftasche 3 Yuan. Was sind also die spezifischen Methoden?

Zwei Beispiele aus dem Leben helfen Ihnen, das „Thread-Synchronisationsprinzip zu verstehen.Wir können hier auch ein beliebteres Beispiel verwenden:

    Es gibt eine neu gebaute Kreuzung. Es gibt nicht viele Fahrzeuge, wenn sie kommen Aber nach und nach wussten immer mehr Menschen von dieser Straße, aber alle passierten die Kreuzung ungeordnet. Deshalb ereignete sich eines Tages ein Unfall, also installierte der Verantwortliche für Straßeneinrichtungen eine Ampel Wenn das grüne Licht in die Richtung leuchtet, können die Leute in dieser Richtung vorwärts fahren. Es handelt sich um eine gegenseitige Ausschlusssperre. Einige Fahrzeuge müssen hier nicht unbedingt überqueren Seien Sie also verantwortungsbewusst. Die Verantwortlichen für die Straßeninfrastruktur haben eine Wendespur entworfen, damit Wendefahrzeuge vorbeifahren können, ohne auf die rote Ampel mit geradeaus fahrenden Fahrzeugen warten zu müssen, um umzukehren. Dies ist die Lese-/Schreibsperre
  • In einem Lagerhaus in der Nähe brach ein Brand aus (die belegten Ressourcen wurden nicht freigegeben und andere Fahrzeuge konnten sich nicht normal bewegen). Bis die Feuerwehr vorbeikam, ist dies die Schleuse. Mit der Zeit hat sich der Verkehrsdruck erhöht und die Verkehrsbehörde hat begonnen, Vorschriften festzulegen Zu den Hauptverkehrszeiten am Abend ist die Durchfahrt von Fahrzeugen aus anderen Orten verboten, und es werden nur begrenzte Zahlen angezeigt. Dies dient dazu, „Bedingungsvariablen“ hinzuzufügen. Puffer entlasten den Druck
  • Einige Beispiele sind möglicherweise nicht so genau, wie z. B. Drehsperren, aber dadurch Durch die Kombination eines Beispiels mit tatsächlicher Theorie können wir die Eigenschaften jeder Sperre im Speicher schnell verstehen.

Das obige ist der detaillierte Inhalt vonZwei Beispiele aus dem Leben helfen Ihnen, das „Thread-Synchronisationsprinzip' zu verstehen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
1
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage