Semaphore.Acquire 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
Acquire() |
Ruft eine Genehmigung von diesem Semaphor ab, blockiert, bis eine verfügbar ist oder der Thread Thread#interrupt unterbrochen ist. |
Acquire(Int32) |
Ruft die angegebene Anzahl von Genehmigungen von diesem Semaphor ab und blockiert, bis alle verfügbar sind oder der Thread Thread#Interrupt unterbrochen ist. |
Acquire()
Ruft eine Genehmigung von diesem Semaphor ab, blockiert, bis eine verfügbar ist oder der Thread Thread#interrupt unterbrochen ist.
[Android.Runtime.Register("acquire", "()V", "GetAcquireHandler")]
public virtual void Acquire ();
[<Android.Runtime.Register("acquire", "()V", "GetAcquireHandler")>]
abstract member Acquire : unit -> unit
override this.Acquire : unit -> unit
- Attribute
Ausnahmen
wenn der aktuelle Thread unterbrochen wird
Hinweise
Ruft eine Genehmigung von diesem Semaphor ab, blockiert, bis eine verfügbar ist oder der Thread Thread#interrupt unterbrochen ist.
Erwirbt eine Genehmigung, wenn eine verfügbar ist und sofort zurückkommt, wodurch die Anzahl der verfügbaren Genehmigungen um eine reduziert wird.
Wenn keine Genehmigung verfügbar ist, wird der aktuelle Thread zu Threadplanungszwecken deaktiviert und bleibt ruhen, bis eines von zwei Dingen geschieht: <ul><li>Ein anderer Thread ruft die #release
Methode für dieses Semaphor auf, und dem aktuellen Thread wird als nächstes eine Genehmigung zugewiesen; oder <li>Ein anderer Thread Thread#interrupt unterbricht den aktuellen Thread. </ul>
Wenn für den aktuellen Thread: ul>li der unterbrochene status für den Eintrag zu dieser Methode festgelegt ist oder <li>thread#interrupt unterbrochen ist, während er auf eine Genehmigung wartet, <wird /ul> ausgelöst, und die unterbrochene status des aktuellen InterruptedException
Threads wird gelöscht.><<
Java-Dokumentation für java.util.concurrent.Semaphore.acquire()
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
Acquire(Int32)
Ruft die angegebene Anzahl von Genehmigungen von diesem Semaphor ab und blockiert, bis alle verfügbar sind oder der Thread Thread#Interrupt unterbrochen ist.
[Android.Runtime.Register("acquire", "(I)V", "GetAcquire_IHandler")]
public virtual void Acquire (int permits);
[<Android.Runtime.Register("acquire", "(I)V", "GetAcquire_IHandler")>]
abstract member Acquire : int -> unit
override this.Acquire : int -> unit
Parameter
- permits
- Int32
die Anzahl der Genehmigungen zum Erwerb
- Attribute
Ausnahmen
wenn der aktuelle Thread unterbrochen wird
, wenn permits
negativ ist
Hinweise
Ruft die angegebene Anzahl von Genehmigungen von diesem Semaphor ab und blockiert, bis alle verfügbar sind oder der Thread Thread#Interrupt unterbrochen ist.
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) acquire();
, mit der Ausnahme, dass sie atomar die Genehmigungen auf einmal erhält:
Wenn unzureichende Genehmigungen verfügbar sind, wird der aktuelle Thread für Threadplanungszwecke deaktiviert und bleibt ruhen, bis eine von zwei Dingen geschieht: <ul<>li>Ein anderer Thread ruft eine der #release() release
Methoden für dieses Semaphor auf, und der aktuelle Thread wird als nächstes zu Genehmigungen zugewiesen und die Anzahl der verfügbaren Genehmigungen erfüllt diese Anforderung; oder <li>Ein anderer Thread Thread#interrupt unterbricht den aktuellen Thread. </ul>
Wenn für den aktuellen Thread: ul>li der unterbrochene status für den Eintrag zu dieser Methode festgelegt ist oder <li>thread#interrupt unterbrochen ist, während er auf eine Genehmigung wartet, <wird /ul> ausgelöst, und die unterbrochene status des aktuellen InterruptedException
Threads wird gelöscht.><< Alle Genehmigungen, die diesem Thread zugewiesen werden sollten, werden stattdessen anderen Threads zugewiesen, die versuchen, Genehmigungen zu erwerben, als ob durch einen Aufruf #release()
von genehmigungen verfügbar gemacht worden wäre.
Java-Dokumentation für java.util.concurrent.Semaphore.acquire(int)
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.