SpinLock.TryEnter Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Próby uzyskania blokady w niezawodny sposób, tak aby nawet w przypadku wystąpienia wyjątku w wywołaniu metody można niezawodnie zbadać, lockTaken
czy blokada została przejęta.
Przeciążenia
TryEnter(Boolean) |
Próby uzyskania blokady w niezawodny sposób, tak aby nawet w przypadku wystąpienia wyjątku w wywołaniu metody można niezawodnie zbadać, |
TryEnter(Int32, Boolean) |
Próby uzyskania blokady w niezawodny sposób, tak aby nawet w przypadku wystąpienia wyjątku w wywołaniu metody można niezawodnie zbadać, |
TryEnter(TimeSpan, Boolean) |
Próby uzyskania blokady w niezawodny sposób, tak aby nawet w przypadku wystąpienia wyjątku w wywołaniu metody można niezawodnie zbadać, |
TryEnter(Boolean)
- Źródło:
- SpinLock.cs
- Źródło:
- SpinLock.cs
- Źródło:
- SpinLock.cs
Próby uzyskania blokady w niezawodny sposób, tak aby nawet w przypadku wystąpienia wyjątku w wywołaniu metody można niezawodnie zbadać, lockTaken
czy blokada została przejęta.
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
Prawda, jeśli blokada zostanie uzyskana; w przeciwnym razie, fałsz.
lockTaken
przed wywołaniem tej metody należy zainicjować wartość false.
Wyjątki
Argument lockTaken
musi zostać zainicjowany na wartość false przed wywołaniem metody TryEnter.
Śledzenie własności wątku jest włączone, a bieżący wątek już nabył tę blokadę.
Uwagi
W przeciwieństwie do Enterelementu TryEnter nie będzie blokować oczekiwania na dostępność blokady. Jeśli blokada nie jest dostępna po wywołaniu metody TryEnter, zostanie zwrócona natychmiast bez dalszego wirowania.
Zobacz też
- SpinLock
- Instrukcje: używanie funkcji SpinLock do synchronizacji Low-Level
- Instrukcje: włączanie trybu Thread-Tracking w funkcji SpinLock
Dotyczy
TryEnter(Int32, Boolean)
- Źródło:
- SpinLock.cs
- Źródło:
- SpinLock.cs
- Źródło:
- SpinLock.cs
Próby uzyskania blokady w niezawodny sposób, tak aby nawet w przypadku wystąpienia wyjątku w wywołaniu metody można niezawodnie zbadać, lockTaken
czy blokada została przejęta.
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
- lockTaken
- Boolean
Prawda, jeśli blokada zostanie uzyskana; w przeciwnym razie, fałsz.
lockTaken
przed wywołaniem tej metody należy zainicjować wartość false.
Wyjątki
millisecondsTimeout
jest liczbą ujemną inną niż -1, która reprezentuje nieskończony limit czasu.
Argument lockTaken
musi zostać zainicjowany na wartość false przed wywołaniem metody TryEnter.
Śledzenie własności wątku jest włączone, a bieżący wątek już nabył tę blokadę.
Uwagi
W przeciwieństwie do Enterelementu TryEnter nie będzie blokować bezterminowo oczekiwania na dostępność blokady. Blokada zostanie zablokowana do momentu udostępnienia blokady millisecondsTimeout
lub do momentu wygaśnięcia.
Zobacz też
- SpinLock
- Instrukcje: używanie funkcji SpinLock do synchronizacji Low-Level
- Instrukcje: włączanie trybu Thread-Tracking w funkcji SpinLock
Dotyczy
TryEnter(TimeSpan, Boolean)
- Źródło:
- SpinLock.cs
- Źródło:
- SpinLock.cs
- Źródło:
- SpinLock.cs
Próby uzyskania blokady w niezawodny sposób, tak aby nawet w przypadku wystąpienia wyjątku w wywołaniu metody można niezawodnie zbadać, lockTaken
czy blokada została przejęta.
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
Element TimeSpan reprezentujący liczbę milisekund oczekiwania lub wartość reprezentującą TimeSpan -1 milisekundy oczekiwania na czas nieokreślony.
- lockTaken
- Boolean
Prawda, jeśli blokada zostanie uzyskana; w przeciwnym razie, fałsz.
lockTaken
przed wywołaniem tej metody należy zainicjować wartość false.
Wyjątki
timeout
jest liczbą ujemną inną niż -1 milisekund, która reprezentuje nieskończony limit czasu -or- limit czasu jest większy niż w milisekundach Int32.MaxValue .
Argument lockTaken
musi zostać zainicjowany na wartość false przed wywołaniem metody TryEnter.
Śledzenie własności wątku jest włączone, a bieżący wątek już nabył tę blokadę.
Uwagi
W przeciwieństwie do Enterelementu TryEnter nie będzie blokować bezterminowo oczekiwania na dostępność blokady. Blokada zostanie zablokowana do momentu udostępnienia blokady timeout
lub do momentu wygaśnięcia.
Zobacz też
- SpinLock
- Instrukcje: używanie funkcji SpinLock do synchronizacji Low-Level
- Instrukcje: włączanie trybu Thread-Tracking w funkcji SpinLock