Lock.TryEnter Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true
pokud 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
true
pokud 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í false
metoda . 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
true
pokud 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í false
metoda . 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.