Exchanger.Exchange 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 |
|---|---|
| Exchange(Object) |
Wartet, bis ein anderer Thread an diesem Austauschpunkt eingeht (es sei denn, der aktuelle Thread ist Thread#interrupt unterbrochen), und überträgt dann das angegebene Objekt an ihn, wobei das Objekt zurückgegeben wird. |
| Exchange(Object, Int64, TimeUnit) |
Wartet, bis ein anderer Thread an diesem Austauschpunkt eingeht (es sei denn, der aktuelle Thread ist Thread#interrupt unterbrochen oder die angegebene Wartezeit verstrichen), und überträgt dann das angegebene Objekt an ihn, wobei das Objekt zurückgegeben wird. |
Exchange(Object)
Wartet, bis ein anderer Thread an diesem Austauschpunkt eingeht (es sei denn, der aktuelle Thread ist Thread#interrupt unterbrochen), und überträgt dann das angegebene Objekt an ihn, wobei das Objekt zurückgegeben wird.
[Android.Runtime.Register("exchange", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetExchange_Ljava_lang_Object_Handler")]
public virtual Java.Lang.Object? Exchange(Java.Lang.Object? x);
[<Android.Runtime.Register("exchange", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetExchange_Ljava_lang_Object_Handler")>]
abstract member Exchange : Java.Lang.Object -> Java.Lang.Object
override this.Exchange : Java.Lang.Object -> Java.Lang.Object
Parameter
- x
- Object
das objekt, das ausgetauscht werden soll
Gibt zurück
das vom anderen Thread bereitgestellte Objekt
- Attribute
Hinweise
Wartet, bis ein anderer Thread an diesem Austauschpunkt eingeht (es sei denn, der aktuelle Thread ist Thread#interrupt unterbrochen), und überträgt dann das angegebene Objekt an ihn, wobei das Objekt zurückgegeben wird.
Wenn bereits ein anderer Thread am Austauschpunkt wartet, wird er für Threadplanungszwecke fortgesetzt und empfängt das vom aktuellen Thread übergebene Objekt. Der aktuelle Thread gibt sofort zurück, wobei das Objekt empfangen wird, das von diesem anderen Thread an den Austausch übergeben wird.
Wenn kein anderer Thread bereits auf den Austausch wartet, wird der aktuelle Thread für Threadplanungszwecke deaktiviert und liegt ruhend, bis eines von zwei Dingen passiert: <ul><li>Ein anderer Thread wechselt in den Austausch, oder <li>Ein anderer Thread#-Interrupt unterbricht den aktuellen Thread. </ul>
Wenn der aktuelle Thread: <ul><li>seinen unterbrochenen Status für den Eintrag in dieser Methode festgelegt hat; oder <li>ist Thread#interrupt unterbrochen, während sie auf den Austausch warten, <wird /ul> dann InterruptedException ausgelöst, und der unterbrochene Status des aktuellen Threads wird gelöscht.
Java Dokumentation für java.util.concurrent.Exchanger.exchange(V).
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:
Exchange(Object, Int64, TimeUnit)
Wartet, bis ein anderer Thread an diesem Austauschpunkt eingeht (es sei denn, der aktuelle Thread ist Thread#interrupt unterbrochen oder die angegebene Wartezeit verstrichen), und überträgt dann das angegebene Objekt an ihn, wobei das Objekt zurückgegeben wird.
[Android.Runtime.Register("exchange", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;", "GetExchange_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Handler")]
public virtual Java.Lang.Object? Exchange(Java.Lang.Object? x, long timeout, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("exchange", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;", "GetExchange_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Handler")>]
abstract member Exchange : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit -> Java.Lang.Object
override this.Exchange : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit -> Java.Lang.Object
Parameter
- x
- Object
das objekt, das ausgetauscht werden soll
- timeout
- Int64
die maximale Wartezeit
- unit
- TimeUnit
die Zeiteinheit des timeout Arguments
Gibt zurück
das vom anderen Thread bereitgestellte Objekt
- Attribute
Hinweise
Wartet, bis ein anderer Thread an diesem Austauschpunkt eingeht (es sei denn, der aktuelle Thread ist Thread#interrupt unterbrochen oder die angegebene Wartezeit verstrichen), und überträgt dann das angegebene Objekt an ihn, wobei das Objekt zurückgegeben wird.
Wenn bereits ein anderer Thread am Austauschpunkt wartet, wird er für Threadplanungszwecke fortgesetzt und empfängt das vom aktuellen Thread übergebene Objekt. Der aktuelle Thread gibt sofort zurück, wobei das Objekt empfangen wird, das von diesem anderen Thread an den Austausch übergeben wird.
Wenn kein anderer Thread bereits auf den Austausch wartet, wird der aktuelle Thread für Threadplanungszwecke deaktiviert und liegt ruhend, bis eines von drei Dingen passiert: <ul><li>Ein anderer Thread wechselt in den Austausch; oder <li>Ein anderer Thread#Interrupt unterbricht den aktuellen Thread; oder <li>Die angegebene Wartezeit verstrichen. </ul>
Wenn der aktuelle Thread: <ul><li>seinen unterbrochenen Status für den Eintrag in dieser Methode festgelegt hat; oder <li>ist Thread#interrupt unterbrochen, während sie auf den Austausch warten, <wird /ul> dann InterruptedException ausgelöst, und der unterbrochene Status des aktuellen Threads wird gelöscht.
Wenn die angegebene Wartezeit verstrichen ist, TimeoutException wird diese ausgelöst. Wenn die Zeit kleiner als oder gleich 0 ist, wartet die Methode gar nicht.
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.