Sprache

Exchanger.Exchange Methode

Definition

Ü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.

Java Dokumentation für java.util.concurrent.Exchanger.exchange(V, long, java.util.concurrent.TimeUnit).

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: