SpinLock.TryEnter Метод

Определение

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

Перегрузки

Имя Описание
TryEnter(Boolean)

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

TryEnter(Int32, Boolean)

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

TryEnter(TimeSpan, Boolean)

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

TryEnter(Boolean)

Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs

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

public:
 void TryEnter(bool % lockTaken);
public void TryEnter(ref bool lockTaken);
member this.TryEnter : bool -> unit
Public Sub TryEnter (ByRef lockTaken As Boolean)

Параметры

lockTaken
Boolean

Значение true, если блокировка приобретена; в противном случае значение false. lockTaken перед вызовом этого метода необходимо инициализировать значение false.

Исключения

Аргумент lockTaken должен быть инициализирован до вызова TryEnter значение false.

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

Комментарии

В отличие от Enterтого, TryEnter не блокирует ожидание доступности блокировки. Если блокировка недоступна при вызове TryEnter, она возвращается немедленно без дальнейшего спиннинга.

См. также раздел

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

TryEnter(Int32, Boolean)

Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs

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

public:
 void TryEnter(int millisecondsTimeout, bool % lockTaken);
public void TryEnter(int millisecondsTimeout, ref bool lockTaken);
member this.TryEnter : int * bool -> unit
Public Sub TryEnter (millisecondsTimeout As Integer, ByRef lockTaken As Boolean)

Параметры

millisecondsTimeout
Int32

Количество миллисекунда, ожидающее или Infinite (-1) для ожидания на неопределенный срок.

lockTaken
Boolean

Значение true, если блокировка приобретена; в противном случае значение false. lockTaken перед вызовом этого метода необходимо инициализировать значение false.

Исключения

millisecondsTimeout — отрицательное число, отличное от -1, которое представляет бесконечное время ожидания.

Аргумент lockTaken должен быть инициализирован до вызова TryEnter значение false.

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

Комментарии

В отличие от Enterтого, TryEnter не будет блокировать неограниченное время ожидания доступности блокировки. Он будет блокироваться до тех пор, пока блокировка не будет доступна или до истечения millisecondsTimeout срока действия.

См. также раздел

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

TryEnter(TimeSpan, Boolean)

Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs
Исходный код:
SpinLock.cs

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

public:
 void TryEnter(TimeSpan timeout, bool % lockTaken);
public void TryEnter(TimeSpan timeout, ref bool lockTaken);
member this.TryEnter : TimeSpan * bool -> unit
Public Sub TryEnter (timeout As TimeSpan, ByRef lockTaken As Boolean)

Параметры

timeout
TimeSpan

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

lockTaken
Boolean

Значение true, если блокировка приобретена; в противном случае значение false. lockTaken перед вызовом этого метода необходимо инициализировать значение false.

Исключения

timeout — отрицательное число, отличное от -1 миллисекундах, которое представляет бесконечное время ожидания или время ожидания больше, чем в миллисекундах Int32.MaxValue .

Аргумент lockTaken должен быть инициализирован до вызова TryEnter значение false.

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

Комментарии

В отличие от Enterтого, TryEnter не будет блокировать неограниченное время ожидания доступности блокировки. Он будет блокироваться до тех пор, пока блокировка не будет доступна или до истечения timeout срока действия.

См. также раздел

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