Дом развитие Что такое оператор блокировки? - определение из техопедии

Что такое оператор блокировки? - определение из техопедии

Оглавление:

Anonim

Определение - что означает заявление о блокировке?

Оператор блокировки в C # - это оператор, который содержит ключевое слово «lock» и используется в многопоточных приложениях, чтобы гарантировать, что текущий поток выполняет блок кода до завершения без прерывания другими потоками. Оператор блокировки получает блокировку взаимного исключения для данного объекта, так что один поток выполняет блок кода одновременно и выходит из блока кода после снятия блокировки.

Оператор блокировки - это эксклюзивная конструкция блокировки, используемая для обеспечения синхронизированного доступа к общим данным в многопоточных приложениях. Это помогает защитить целостность изменчивого ресурса, который совместно используется несколькими потоками, не создавая помех между этими потоками. Оператор блокировки может использоваться одноэлементным объектом для предотвращения одновременного доступа его общих данных к нескольким клиентам.

Оператор блокировки - это основной примитив синхронизации, доступный в библиотеке классов .NET Framework. Он автоматически генерирует согласованный и безопасный для исключений код, который может обрабатывать потребности синхронизации в многопоточных программах. Он также предоставляет простой способ управления синхронизацией путем создания эффективного кода, который предотвращает ошибки, которые могут быть вызваны написанным вручную кодом.

Техопедия объясняет заявление о блокировке

Оператор блокировки должен быть снабжен аргументом ссылочного типа, а не типа значения. В общем случае рекомендуется заблокировать закрытый элемент экземпляра или частный статический член, чтобы защитить данные, которые используются всеми экземплярами объекта. Поскольку блокировка для открытого типа или экземпляров, которые находятся вне контроля кода, может привести к ситуациям взаимоблокировки, когда несколько потоков ожидают освобождения одного объекта, используемого для оператора блокировки, их следует избегать.


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


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


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

Это определение было написано в контексте C #
Что такое оператор блокировки? - определение из техопедии