Udostępnij za pośrednictwem


SpinLock.TryEnter Metoda

Definicja

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ć, lockTaken czy blokada została przejęta.

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ć, lockTaken czy blokada została przejęta.

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ć, lockTaken czy blokada została przejęta.

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ż

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

millisecondsTimeout
Int32

Liczba milisekund oczekiwania lub Infinite (-1) 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

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ż

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ż

Dotyczy