Поделиться через


Lock.EnterScope Метод

Определение

Вводит блокировку, ожидая при необходимости, пока блокировка не будет введена.

public:
 System::Threading::Lock::Scope EnterScope();
public System.Threading.Lock.Scope EnterScope ();
member this.EnterScope : unit -> System.Threading.Lock.Scope
Public Function EnterScope () As Lock.Scope

Возвращаемое значение

Объект , Lock.Scope который можно удалить для выхода из блокировки.

Исключения

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

Комментарии

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

Этот метод предназначен для использования с языковой конструкцией, которая автоматически удаляет Lock.Scope, например ключевое слово C# using .

Дополнительные сведения см. в примечаниях к описанию Lock.

Применяется к