Huis Ontwikkeling Wat is een slotverklaring? - definitie van techopedia

Wat is een slotverklaring? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Lock Statement?

Een lock-instructie, in C #, is een instructie die het sleutelwoord "lock" bevat en wordt gebruikt in multithreaded applicaties om ervoor te zorgen dat de huidige thread een codeblok volledig uitvoert zonder onderbreking door andere threads. De slotinstructie verkrijgt een wederzijds uitsluitingsslot voor een bepaald object, zodat één thread het codeblok tegelijk uitvoert en het codeblok verlaat nadat het slot is vrijgegeven.

De vergrendelingsverklaring is een exclusieve vergrendelingsconstructie die wordt gebruikt om gesynchroniseerde toegang tot gedeelde gegevens in multithreaded applicaties te garanderen. Het helpt de integriteit van een veranderlijke bron die door meerdere threads wordt gedeeld te beschermen zonder interferentie tussen die threads te veroorzaken. De vergrendelingsverklaring kan door een singleton-object worden gebruikt om gelijktijdige toegang van de gemeenschappelijke gegevens door meerdere clients te voorkomen.

De lock-instructie is de primaire primitieve synchronisatie die beschikbaar is in de .NET Framework Class Library. Het genereert automatisch consistente en uitzonderlijk veilige code die kan omgaan met synchronisatiebehoeften in multithreaded programma's. Het biedt ook een eenvoudige methode om synchronisatie te regelen door efficiënte code te genereren, die fouten voorkomt die kunnen worden veroorzaakt door handmatig geschreven code.

Techopedia legt Lock Statement uit

De slotinstructie moet worden voorzien van een argument van het referentietype, niet van het waardetype. Over het algemeen wordt aanbevolen om een ​​lid van een privé-instantie of een statisch privé-lid te vergrendelen om de gegevens te beschermen die worden gedeeld tussen alle instanties van het object. Aangezien vergrendeling op openbare typen of instanties die buiten de controle van code vallen, kan leiden tot deadlock-situaties waarbij meerdere threads wachten op de release van een enkel object dat wordt gebruikt voor een lock-instructie, moeten ze worden vermeden.


Een voorbeeld voor het gebruik van het vergrendelingsoverzicht kan een multithread-applicatie zijn waarbij een accountobject met een methode om een ​​saldo op te nemen het vergrendelingsoverzicht gebruikt om te voorkomen dat meerdere threads dezelfde methode tegelijkertijd uitvoeren, waardoor het saldo naar een negatief getal kan worden geduwd .


De inhoud van een slotinstructie moet klein zijn om de tijd te verminderen die nodig is voor andere threads die op het slot wachten, waardoor de kansen op een deadlock worden verkleind en de mogelijkheid tot het optreden van een uitzondering wordt geminimaliseerd.


De beperkingen bij het gebruik van vergrendelingsinstructies omvatten dat ze alleen kunnen worden gebruikt met gegevens die relevant zijn voor de huidige toepassing. Lock-instructies kunnen ook geen time-out ondersteunen.

Deze definitie is geschreven in de context van C #
Wat is een slotverklaring? - definitie van techopedia