Synchronisation

Autor: Louise Ward
Erstelldatum: 7 Februar 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
The Surprising Secret of Synchronization
Video: The Surprising Secret of Synchronization

Inhalt

Definition - Was bedeutet Synchronisation?

Die Synchronisation in .NET ist ein Prozess, bei dem die Ausführung mehrerer Threads koordiniert wird, um ein gewünschtes Ergebnis zu erzielen, ohne die freigegebenen Daten zu beschädigen und das Auftreten von Deadlocks und Race-Bedingungen zu verhindern.

Die Synchronisierung erfolgt auch zwischen Netzwerkknoten, um sicherzustellen, dass Datenströme korrekt empfangen und übertragen werden, und um Datenkollisionen zu vermeiden. In der Regel wird ein Taktsignal verwendet, das nacheinander mit einem Datenstrom übertragen wird, um das richtige Signal-Timing aufrechtzuerhalten.


Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt die Synchronisation

Es gibt zwei Arten der Synchronisation: Datensynchronisation und Prozesssynchronisation:

  • Prozesssynchronisation: Die gleichzeitige Ausführung mehrerer Threads oder Prozesse, um einen Handshake zu erreichen, der eine bestimmte Abfolge von Aktionen festlegt. Lock, Mutex und Semaphore sind Beispiele für die Prozesssynchronisation.
  • Datensynchronisation: Umfasst die Pflege von Daten, um mehrere Kopien von Daten kohärent zueinander zu halten oder um die Datenintegrität zu gewährleisten. Beispielsweise wird die Datenbankreplikation verwendet, um mehrere Kopien von Daten mit Datenbankservern zu synchronisieren, auf denen Daten an verschiedenen Orten gespeichert sind.

Die Synchronisation bildet die Grundlage für die asynchrone Ausführung mehrerer Threads in einer Multithread-Anwendung. Es bietet die Möglichkeit, Ressourcen wie die Dateiverwaltung, Netzwerkverbindungen und den Arbeitsspeicher gemeinsam zu nutzen, indem Threads und Prozesse koordiniert werden, um eine Beschädigung der Daten zu vermeiden.

Der Begriff wird im Zusammenhang mit Multithread-Anwendungen verwendet, bei denen die Ressourcen, die über mehrere Threads hinweg gemeinsam genutzt werden sollen, gesteuert werden müssen, was ansonsten zu einem unvorhersehbaren und unerwünschten Ergebnis führen kann. Das .NET Framework bietet Synchronisationsprimitive, die Multithread-Anwendungen verwenden, die ohne Race-Bedingungen gesteuert werden.

Die Synchronisierung soll kooperativ sein und erfordert, dass jeder Thread dem Synchronisierungsmechanismus folgt, bevor auf geschützte Ressourcen zugegriffen wird, um konsistente Ergebnisse zu erzielen. Locking, Signaling, Lightweight-Synchronisationstypen, Spinwait und Interlocked-Operationen sind Mechanismen im Zusammenhang mit der Synchronisation in .NET.


Diese Definition wurde im con von .NET geschrieben