Semaphore.AcquireUninterruptibly Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| AcquireUninterruptibly() |
Erwirbt eine Genehmigung von diesem Semaphor, die blockiert wird, bis eine verfügbar ist. |
| AcquireUninterruptibly(Int32) |
Erwirbt die angegebene Anzahl von Genehmigungen von diesem Semaphor, die blockiert werden, bis alle verfügbar sind. |
AcquireUninterruptibly()
Erwirbt eine Genehmigung von diesem Semaphor, die blockiert wird, bis eine verfügbar ist.
[Android.Runtime.Register("acquireUninterruptibly", "()V", "GetAcquireUninterruptiblyHandler")]
public virtual void AcquireUninterruptibly();
[<Android.Runtime.Register("acquireUninterruptibly", "()V", "GetAcquireUninterruptiblyHandler")>]
abstract member AcquireUninterruptibly : unit -> unit
override this.AcquireUninterruptibly : unit -> unit
- Attribute
Hinweise
Erwirbt eine Genehmigung von diesem Semaphor, die blockiert wird, bis eine verfügbar ist.
Erwirbt eine Genehmigung, wenn eine verfügbar ist und sofort zurückgegeben wird, wodurch die Anzahl der verfügbaren Genehmigungen um eins reduziert wird.
Wenn keine Genehmigung verfügbar ist, wird der aktuelle Thread für Threadplanungszwecke deaktiviert und liegt ruhend, bis ein anderer Thread die #release Methode für dieses Semaphor aufruft und der aktuelle Thread neben einer Genehmigung zugewiesen wird.
Wenn der aktuelle Thread thread#interrupt während des Wartens auf eine Genehmigung unterbrochen ist, wird er weiterhin warten, aber die Zeit, zu der dem Thread eine Genehmigung zugewiesen wird, kann sich im Vergleich zum Zeitpunkt ändern, zu dem die Genehmigung empfangen würde, wenn keine Unterbrechung aufgetreten wäre. Wenn der Thread von dieser Methode zurückgibt, wird der Unterbrechungsstatus festgelegt.
Java Dokumentation für java.util.concurrent.Semaphore.acquireUninterruptibly().
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
AcquireUninterruptibly(Int32)
Erwirbt die angegebene Anzahl von Genehmigungen von diesem Semaphor, die blockiert werden, bis alle verfügbar sind.
[Android.Runtime.Register("acquireUninterruptibly", "(I)V", "GetAcquireUninterruptibly_IHandler")]
public virtual void AcquireUninterruptibly(int permits);
[<Android.Runtime.Register("acquireUninterruptibly", "(I)V", "GetAcquireUninterruptibly_IHandler")>]
abstract member AcquireUninterruptibly : int -> unit
override this.AcquireUninterruptibly : int -> unit
Parameter
- permits
- Int32
Die Anzahl der Genehmigungen für den Erwerb
- Attribute
Ausnahmen
wenn permits negativ
Hinweise
Erwirbt die angegebene Anzahl von Genehmigungen von diesem Semaphor, die blockiert werden, bis alle verfügbar sind.
Erwirbt die angegebene Anzahl von Genehmigungen, sofern sie verfügbar sind, und gibt sofort zurück, wodurch die Anzahl der verfügbaren Genehmigungen um den angegebenen Betrag reduziert wird. Diese Methode hat die gleiche Wirkung wie die Schleife for (int i = 0; i < permits; ++i) acquireUninterruptibly(); , mit der Ausnahme, dass sie die Genehmigungen auf einmal atomar erwirbt:
Wenn unzureichende Genehmigungen verfügbar sind, wird der aktuelle Thread zu Threadplanungszwecken deaktiviert und liegt ruhend, bis ein anderer Thread eine der #release() release Methoden für dieses Semaphor aufruft und der aktuelle Thread neben der Zuweisung von Genehmigungen zugewiesen wird und die Anzahl der verfügbaren Genehmigungen diese Anforderung erfüllt.
Wenn der aktuelle Thread thread#interrupt unterbrochen ist, während auf Genehmigungen gewartet wird, wartet er weiterhin, und seine Position in der Warteschlange ist nicht betroffen. Wenn der Thread von dieser Methode zurückgibt, wird der Unterbrechungsstatus festgelegt.
Java Dokumentation für java.util.concurrent.Semaphore.acquireUninterruptibly(int).
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.