Lock-Anweisung

Autor: Lewis Jackson
Erstelldatum: 8 Kann 2021
Aktualisierungsdatum: 15 Kann 2024
Anonim
How to open a American lock
Video: How to open a American lock

Inhalt

Definition - Was bedeutet Lock Statement?

Eine Lock-Anweisung in C # ist eine Anweisung, die das Schlüsselwort "lock" enthält und in Multithread-Anwendungen verwendet wird, um sicherzustellen, dass der aktuelle Thread einen Codeblock vollständig ausführt, ohne von anderen Threads unterbrochen zu werden. Die lock-Anweisung erhält eine gegenseitige Ausschlusssperre für ein bestimmtes Objekt, sodass jeweils ein Thread den Codeblock ausführt und den Codeblock nach dem Aufheben der Sperre verlässt.


Die lock-Anweisung ist ein exklusives Sperrkonstrukt, mit dem der synchronisierte Zugriff auf gemeinsam genutzte Daten in Multithread-Anwendungen sichergestellt wird. Es hilft dabei, die Integrität einer veränderlichen Ressource zu schützen, die von mehreren Threads gemeinsam genutzt wird, ohne dass diese Threads gestört werden. Die lock-Anweisung kann von einem Singleton-Objekt verwendet werden, um den gleichzeitigen Zugriff mehrerer Clients auf die gemeinsamen Daten zu verhindern.

Die lock-Anweisung ist das primäre Synchronisationsprimitiv, das in der .NET Framework-Klassenbibliothek verfügbar ist. Es generiert automatisch konsistenten und ausnahmesicheren Code, der die Synchronisierungsanforderungen in Multithread-Programmen erfüllt. Es bietet auch eine einfache Methode zur Steuerung der Synchronisation durch Generieren von effizientem Code, wodurch Fehler vermieden werden, die durch manuell geschriebenen Code verursacht werden können.


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 Lock Statement

Die lock-Anweisung sollte mit einem Argument vom Referenztyp und nicht vom Werttyp versehen werden. Im Allgemeinen wird empfohlen, ein privates Instanzmitglied oder ein privates statisches Mitglied zu sperren, um die Daten zu schützen, die von allen Instanzen des Objekts gemeinsam genutzt werden. Da das Sperren von öffentlichen Typen oder Instanzen, die sich der Kontrolle des Codes entziehen, zu Deadlocks führen kann, in denen mehrere Threads auf die Freigabe eines einzelnen Objekts warten, das für eine Sperranweisung verwendet wird, müssen sie vermieden werden.

Ein Beispiel für die Verwendung der Sperranweisung kann eine Multithread-Anwendung sein, bei der ein Kontoobjekt mit einer Methode zum Abheben eines Kontostands die Sperranweisung verwendet, um zu verhindern, dass mehrere Threads dieselbe Methode gleichzeitig ausführen, wodurch der Kontostand möglicherweise auf einen negativen Wert verschoben wird .

Der Hauptteil einer lock-Anweisung muss klein sein, um die Zeit zu verkürzen, die andere Threads für die Sperre benötigen, um die Wahrscheinlichkeit eines Deadlocks zu verringern und die Wahrscheinlichkeit zu minimieren, dass eine Ausnahme auftritt.

Zu den Einschränkungen bei der Verwendung von Lock-Anweisungen gehört, dass sie nur für Daten verwendet werden können, die für die aktuelle Anwendung relevant sind. Lock-Anweisungen können auch keine Zeitüberschreitung unterstützen.


Diese Definition wurde in der con von C # geschrieben