Freigeben über


Lock.TryEnter Methode

Definition

Überlädt

TryEnter()

Versucht, die Sperre zu betreten, ohne zu warten.

TryEnter(Int32)

Versucht, die Sperre zu betreten, und wartet bei Bedarf auf die angegebene Anzahl von Millisekunden, bis die Sperre eingegeben werden kann.

TryEnter(TimeSpan)

Versucht, die Sperre zu betreten, und wartet bei Bedarf, bis die Sperre eingegeben werden kann oder bis das angegebene Timeout abläuft.

TryEnter()

Quelle:
Lock.cs

Versucht, die Sperre zu betreten, ohne zu warten.

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

Gibt zurück

true , wenn die Sperre vom aktuellen Thread eingegeben wurde; falseandernfalls .

Ausnahmen

Die Sperre hat die Grenze für wiederholte Einträge durch den aktuellen Thread erreicht. Der Grenzwert ist implementierungsdefiniert und soll so hoch sein, dass er in normalen Situationen nicht erreicht wird.

Hinweise

Wenn die Methode zurückgibt true, ist der aktuelle Thread der einzige Thread, der die Sperre enthält. Wenn die Sperre nicht sofort eingegeben werden kann, gibt die Methode zurück false , ohne auf die Sperre zu warten. Wenn die Sperre bereits vom aktuellen Thread gehalten wird, wird die Sperre erneut eingegeben. Um die Sperre vollständig zu beenden und anderen Threads den Eintritt in die Sperre zu ermöglichen, sollte der aktuelle Thread die Sperre so oft beenden, wie er in die Sperre gelangt ist.

Weitere Informationen finden Sie in den Hinweisen zu Lock.

Gilt für:

TryEnter(Int32)

Quelle:
Lock.cs

Versucht, die Sperre zu betreten, und wartet bei Bedarf auf die angegebene Anzahl von Millisekunden, bis die Sperre eingegeben werden kann.

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

Parameter

millisecondsTimeout
Int32

Die Anzahl der Millisekunden, die gewartet werden sollen, bis die Sperre eingegeben werden kann. Geben Sie Timeout.Infinite (-1) an, um unbegrenzt zu warten oder 0 nicht zu warten.

Gibt zurück

true , wenn die Sperre vom aktuellen Thread eingegeben wurde; falseandernfalls .

Ausnahmen

millisecondsTimeout ist kleiner als -1.

Die Sperre hat die Grenze für wiederholte Einträge durch den aktuellen Thread erreicht. Der Grenzwert ist implementierungsdefiniert und soll so hoch sein, dass er in normalen Situationen nicht erreicht wird.

Hinweise

Wenn die Methode zurückgibt true, ist der aktuelle Thread der einzige Thread, der die Sperre enthält. Wenn die Sperre nicht sofort eingegeben werden kann, wartet die Methode, bis die Sperre eingegeben werden kann oder bis das durch den millisecondsTimeout Parameter angegebene Timeout abläuft. Wenn das Timeout vor dem Eingeben der Sperre abläuft, gibt die -Methode zurück false. Wenn die Sperre bereits vom aktuellen Thread gehalten wird, wird die Sperre erneut eingegeben. Um die Sperre vollständig zu beenden und anderen Threads den Eintritt in die Sperre zu ermöglichen, sollte der aktuelle Thread die Sperre so oft beenden, wie er in die Sperre gelangt ist.

Weitere Informationen finden Sie in den Hinweisen zu Lock.

Gilt für:

TryEnter(TimeSpan)

Quelle:
Lock.cs

Versucht, die Sperre zu betreten, und wartet bei Bedarf, bis die Sperre eingegeben werden kann oder bis das angegebene Timeout abläuft.

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

Parameter

timeout
TimeSpan

Eine TimeSpan , die die Anzahl von Millisekunden darstellt, die gewartet werden sollen, bis die Sperre eingegeben werden kann. Geben Sie einen Wert an, der Timeout.Infinite (-1)-Millisekunden für unbegrenzte Wartezeiten 0 darstellt, oder einen Wert, der Millisekunden darstellt, um nicht zu warten.

Gibt zurück

true , wenn die Sperre vom aktuellen Thread eingegeben wurde; falseandernfalls .

Ausnahmen

timeoutstellt nach der Konvertierung in einen ganzzahligen Millisekundenwert einen Wert dar, der kleiner als -1 Millisekunden oder größer als Int32.MaxValue Millisekunden ist.

Die Sperre hat die Grenze für wiederholte Einträge durch den aktuellen Thread erreicht. Der Grenzwert ist implementierungsdefiniert und soll so hoch sein, dass er in normalen Situationen nicht erreicht wird.

Hinweise

Wenn die Methode zurückgibt true, ist der aktuelle Thread der einzige Thread, der die Sperre enthält. Wenn die Sperre nicht sofort eingegeben werden kann, wartet die Methode, bis die Sperre eingegeben werden kann oder bis die angegebene timeout abläuft. Wenn das Timeout vor dem Eingeben der Sperre abläuft, gibt die -Methode zurück false. Wenn die Sperre bereits vom aktuellen Thread gehalten wird, wird die Sperre erneut eingegeben. Um die Sperre vollständig zu beenden und anderen Threads den Eintritt in die Sperre zu ermöglichen, sollte der aktuelle Thread die Sperre so oft beenden, wie er in die Sperre gelangt ist.

Weitere Informationen finden Sie in den Hinweisen zu Lock.

Gilt für: