Sdílet prostřednictvím


SpinLock.TryEnter Metoda

Definice

Pokusy o získání zámku spolehlivým způsobem, tak, aby i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat, lockTaken zda byl zámek získán.

Přetížení

TryEnter(Boolean)

Pokusy o získání zámku spolehlivým způsobem, tak, aby i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat, lockTaken zda byl zámek získán.

TryEnter(Int32, Boolean)

Pokusy o získání zámku spolehlivým způsobem, tak, aby i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat, lockTaken zda byl zámek získán.

TryEnter(TimeSpan, Boolean)

Pokusy o získání zámku spolehlivým způsobem, tak, aby i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat, lockTaken zda byl zámek získán.

TryEnter(Boolean)

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

Pokusy o získání zámku spolehlivým způsobem, tak, aby i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat, 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 zámek je získán; jinak false. 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 povoleno a aktuální vlákno již získalo tento zámek.

Poznámky

Na rozdíl od Enterpříkazu TryEnter neblokuje čekání na dostupnost zámku. Pokud zámek není k dispozici při zavolání tryEnter, 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

Pokusy o získání zámku spolehlivým způsobem, tak, aby i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat, 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í čekat, nebo Infinite (-1) čekání na neomezenou dobu.

lockTaken
Boolean

True Pokud zámek je získán; jinak false. 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, které 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 povoleno a aktuální vlákno již získalo tento zámek.

Poznámky

Na rozdíl od Enterfunkce TryEnter neblokuje čekání na dostupnost zámku donekonečna. Bude se blokovat, dokud nebude zámek k dispozici nebo dokud millisecondsTimeout nevypršela platnost zámku.

Viz také

Platí pro

TryEnter(TimeSpan, Boolean)

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

Pokusy o získání zámku spolehlivým způsobem, tak, aby i v případě, že dojde k výjimce v rámci volání metody, lze spolehlivě prozkoumat, 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

A TimeSpan , který představuje počet milisekund čekání, nebo , TimeSpan který představuje -1 milisekund čekání neomezeně.

lockTaken
Boolean

True Pokud zámek je získán; jinak false. 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, které představuje nekonečný časový limit nebo je časový limit 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 povoleno a aktuální vlákno již získalo tento zámek.

Poznámky

Na rozdíl od Enterfunkce TryEnter neblokuje čekání na dostupnost zámku donekonečna. Bude se blokovat, dokud nebude zámek k dispozici nebo dokud timeout nevypršela platnost zámku.

Viz také

Platí pro