SpinLock.TryEnter Metoda

Definice

Snaží se získat zámek spolehlivým způsobem, takže i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat a zjistit, lockTaken zda byl zámek získán.

Přetížení

Name Description
TryEnter(Boolean)

Snaží se získat zámek spolehlivým způsobem, takže i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat a zjistit, lockTaken zda byl zámek získán.

TryEnter(Int32, Boolean)

Snaží se získat zámek spolehlivým způsobem, takže i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat a zjistit, lockTaken zda byl zámek získán.

TryEnter(TimeSpan, Boolean)

Snaží se získat zámek spolehlivým způsobem, takže i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat a zjistit, lockTaken zda byl zámek získán.

TryEnter(Boolean)

Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs

Snaží se získat zámek spolehlivým způsobem, takže i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat a zjistit, lockTaken zda byl zámek získán.

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

Parametry

lockTaken
Boolean

True Pokud je zámek získán; jinak nepravda. lockTaken před voláním této metody musí být inicializována na hodnotu false.

Výjimky

Argument lockTaken musí být inicializován na false před voláním TryEnter.

Sledování vlastnictví vlákna je povolené a aktuální vlákno už toto uzamčení získalo.

Poznámky

Na rozdíl od Enterfunkce TryEnter neblokuje čekání na dostupnost zámku. Pokud zámek není při zavolání tryEnter k dispozici, vrátí se okamžitě bez dalšího otáčení.

Viz také

Platí pro

TryEnter(Int32, Boolean)

Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs

Snaží se získat zámek spolehlivým způsobem, takže i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat a zjistit, lockTaken zda byl zámek získán.

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)

Parametry

millisecondsTimeout
Int32

Počet milisekund, které se mají počkat, nebo Infinite (-1) čekat na neomezenou dobu.

lockTaken
Boolean

True Pokud je zámek získán; jinak nepravda. lockTaken před voláním této metody musí být inicializována na hodnotu false.

Výjimky

millisecondsTimeout je záporné číslo jiné než -1, což představuje nekonečný časový limit.

Argument lockTaken musí být inicializován na false před voláním TryEnter.

Sledování vlastnictví vlákna je povolené a aktuální vlákno už toto uzamčení získalo.

Poznámky

Na rozdíl od Enterfunkce TryEnter neblokuje neurčité čekání na dostupnost zámku. Zablokuje se, dokud nebude zámek dostupný nebo dokud millisecondsTimeout nevypršela jeho platnost.

Viz také

Platí pro

TryEnter(TimeSpan, Boolean)

Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs
Zdroj:
SpinLock.cs

Snaží se získat zámek spolehlivým způsobem, takže i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat a zjistit, lockTaken zda byl zámek získán.

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)

Parametry

timeout
TimeSpan

Jedná TimeSpan se o počet milisekund, které se mají čekat, nebo TimeSpan počet milisekund, které představují -1 milisekundy, které se mají čekat neomezeně dlouho.

lockTaken
Boolean

True Pokud je zámek získán; jinak nepravda. lockTaken před voláním této metody musí být inicializována na hodnotu false.

Výjimky

timeout je záporné číslo jiné než -1 milisekund, což představuje nekonečný časový limit –nebo– časový limit je větší než int32.MaxValue milisekund.

Argument lockTaken musí být inicializován na false před voláním TryEnter.

Sledování vlastnictví vlákna je povolené a aktuální vlákno už toto uzamčení získalo.

Poznámky

Na rozdíl od Enterfunkce TryEnter neblokuje neurčité čekání na dostupnost zámku. Zablokuje se, dokud nebude zámek dostupný nebo dokud timeout nevypršela jeho platnost.

Viz také

Platí pro