Sdílet prostřednictvím


Lock.TryEnter Metoda

Definice

Přetížení

TryEnter()

Pokusí se vstoupit do zámku bez čekání.

TryEnter(Int32)

Pokusí se zadat zámek a v případě potřeby čeká na zadaný počet milisekund, dokud nebude možné zámek zadat.

TryEnter(TimeSpan)

Pokusí se zadat zámek a v případě potřeby čeká na zadání zámku nebo na vypršení zadaného časového limitu.

TryEnter()

Zdroj:
Lock.cs

Pokusí se vstoupit do zámku bez čekání.

public:
 bool TryEnter();
public bool TryEnter ();
member this.TryEnter : unit -> bool
Public Function TryEnter () As Boolean

Návraty

truepokud byl zámek zadán aktuálním vláknem; v opačném případě . false

Výjimky

Zámek dosáhl limitu opakovaných položek aktuálním vláknem. Limit je definován implementací a má být dostatečně vysoký, aby ho nebylo dosaženo v normálních situacích.

Poznámky

Když metoda vrátí true, aktuální vlákno je jediným vláknem, které obsahuje zámek. Pokud zámek nejde zadat okamžitě, vrátí false se metoda bez čekání na zámek. Pokud je zámek již přidržován aktuálním vláknem, zámek je znovu zadán. Pokud chcete zámek úplně ukončit a umožnit ostatním vláknům vstoupit do zámku, aktuální vlákno by mělo zámek opustit tolikrát, kolikrát vstoupilo do zámku.

Další informace najdete v části Poznámky pro Lock.

Platí pro

TryEnter(Int32)

Zdroj:
Lock.cs

Pokusí se zadat zámek a v případě potřeby čeká na zadaný počet milisekund, dokud nebude možné zámek zadat.

public:
 bool TryEnter(int millisecondsTimeout);
public bool TryEnter (int millisecondsTimeout);
member this.TryEnter : int -> bool
Public Function TryEnter (millisecondsTimeout As Integer) As Boolean

Parametry

millisecondsTimeout
Int32

Počet milisekund, které se počká, dokud nebude možné zámek zadat. Zadejte Timeout.Infinite (-1), aby se čekalo neomezeně nebo 0 nečeká.

Návraty

truepokud byl zámek zadán aktuálním vláknem; v opačném případě . false

Výjimky

millisecondsTimeout je menší než -1.

Zámek dosáhl limitu opakovaných položek aktuálním vláknem. Limit je definován implementací a má být dostatečně vysoký, aby ho nebylo dosaženo v normálních situacích.

Poznámky

Když metoda vrátí true, aktuální vlákno je jediným vláknem, které obsahuje zámek. Pokud zámek nejde zadat okamžitě, metoda počká, dokud nebude možné zámek zadat, nebo dokud nevyprší časový limit zadaný parametrem millisecondsTimeout . Pokud časový limit vyprší před zadáním zámku, vrátí falsemetoda . Pokud je zámek již přidržován aktuálním vláknem, zámek je znovu zadán. Pokud chcete zámek úplně ukončit a umožnit ostatním vláknům vstoupit do zámku, aktuální vlákno by mělo zámek opustit tolikrát, kolikrát vstoupilo do zámku.

Další informace najdete v části Poznámky pro Lock.

Platí pro

TryEnter(TimeSpan)

Zdroj:
Lock.cs

Pokusí se zadat zámek a v případě potřeby čeká na zadání zámku nebo na vypršení zadaného časového limitu.

public:
 bool TryEnter(TimeSpan timeout);
public bool TryEnter (TimeSpan timeout);
member this.TryEnter : TimeSpan -> bool
Public Function TryEnter (timeout As TimeSpan) As Boolean

Parametry

timeout
TimeSpan

A TimeSpan , který představuje počet milisekund, které se mají počkat, dokud nebude možné zámek zadat. Zadejte hodnotu, která představuje timeout.Infinite (-1) milisekundy pro čekání na dobu neurčitou, nebo hodnotu, která představuje 0 milisekundy, aby nečekal.

Návraty

truepokud byl zámek zadán aktuálním vláknem; v opačném případě . false

Výjimky

timeout, po převodu na celočíselnou hodnotu milisekund představuje hodnotu, která je menší než -1 milisekundy nebo větší než Int32.MaxValue milisekund.

Zámek dosáhl limitu opakovaných položek aktuálním vláknem. Limit je definován implementací a má být dostatečně vysoký, aby ho nebylo dosaženo v normálních situacích.

Poznámky

Když metoda vrátí true, aktuální vlákno je jediným vláknem, které obsahuje zámek. Pokud zámek nejde zadat okamžitě, metoda počká, dokud zámek nepůjde zadat nebo dokud nevyprší platnost zadaného timeout zámku. Pokud časový limit vyprší před zadáním zámku, vrátí falsemetoda . Pokud je zámek již přidržován aktuálním vláknem, zámek je znovu zadán. Pokud chcete zámek úplně ukončit a umožnit ostatním vláknům vstoupit do zámku, aktuální vlákno by mělo zámek opustit tolikrát, kolikrát vstoupilo do zámku.

Další informace najdete v části Poznámky pro Lock.

Platí pro