Декларация за заключване

Автор: Lewis Jackson
Дата На Създаване: 8 Може 2021
Дата На Актуализиране: 15 Може 2024
Anonim
SCP-093 Красное море Объект (Все тесты и вторичного сырья Журналы)
Видео: SCP-093 Красное море Объект (Все тесты и вторичного сырья Журналы)

Съдържание

Определение - Какво означава заключение за заключване?

Изключващото заключение в C # е израз, който съдържа ключовата дума „заключване“ и се използва в многопоточни приложения, за да се гарантира, че текущата нишка изпълнява блок код до завършване без прекъсване от други нишки. Операторът за заключване получава заключване за взаимно изключване за даден обект, така че една нишка изпълнява кодовия блок наведнъж и излиза от кодовия блок след освобождаването на ключалката.


Декларацията за заключване е изключителна заключваща конструкция, използвана за осигуряване на синхронизиран достъп до споделени данни в многопоточни приложения. Той помага да се защити целостта на изменяем ресурс, който се споделя от множество нишки, без да създава смущения между тези нишки. Операторът за заключване може да се използва от единичен обект, за да се предотврати едновременния достъп до общите му данни от множество клиенти.

Декларацията за заключване е основният примитив за синхронизация, наличен в библиотеката .NET Framework Class. Той автоматично генерира постоянен и безопасен за изключения код, който може да се справи с нуждите на синхронизацията в многопоточни програми. Той също така осигурява лесен метод за контрол на синхронизацията чрез генериране на ефективен код, което предотвратява грешки, които могат да бъдат причинени от ръчно написан код.

Въведение в Microsoft Azure и Microsoft Cloud | В това ръководство ще научите за какво се занимава компютърните изчисления и как Microsoft Azure може да ви помогне да мигрирате и стартирате бизнеса си от облака.

Техопедия обяснява заключение за заключване

Заключението за заключване трябва да бъде снабдено с аргумент от референтен тип, а не от тип стойност. Като цяло се препоръчва да заключите частен член или частен статичен член, за да защитите данните, които се споделят между всички инстанции на обекта. Тъй като заключването на публичен тип или екземпляри, които са извън контрола на кода, може да доведе до ситуации в безизходица, при които множество нишки изчакват освобождаването на един обект, използван за заключение за заключване, те трябва да бъдат избягвани.

Пример за използването на заключението за заключване може да бъде многопоточно приложение, в което обект на акаунт с метод за изтегляне на баланс използва оператора за заключване, за да предотврати едновременно извършване на няколко нишки на един и същ метод, което може да изтласка баланса до отрицателно число ,

Тялото на заключението за заключване трябва да е малко, за да се намали времето, необходимо за други нишки, които чакат на блокировката, намалявайки шансовете за блокиране и свеждайки до минимум възможността да възникне изключение.

Ограниченията при използване на заключения за заключване включват, че те могат да се използват само с данни, които са от значение за текущото приложение. Заключенията също не могат да поддържат изчакване.


Това определение е написано в рамките на C #