Lenguaje

Exchanger.Exchange Método

Definición

Sobrecargas

Nombre Description
Exchange(Object)

Espera a que otro subproceso llegue a este punto de intercambio (a menos que se interrumpa el subproceso actual) y, a continuación, transfiere el objeto especificado a él, recibiendo su objeto a cambio.

Exchange(Object, Int64, TimeUnit)

Espera a que otro subproceso llegue a este punto de intercambio (a menos que se interrumpa el subproceso actual o se interrumpa el tiempo de espera especificado) y, a continuación, transfiere el objeto especificado a él, recibiendo su objeto a cambio.

Exchange(Object)

Espera a que otro subproceso llegue a este punto de intercambio (a menos que se interrumpa el subproceso actual) y, a continuación, transfiere el objeto especificado a él, recibiendo su objeto a cambio.

[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

Parámetros

x
Object

el objeto que se va a intercambiar

Devoluciones

el objeto proporcionado por el otro subproceso

Atributos

Comentarios

Espera a que otro subproceso llegue a este punto de intercambio (a menos que se interrumpa el subproceso actual) y, a continuación, transfiere el objeto especificado a él, recibiendo su objeto a cambio.

Si otro subproceso ya está esperando en el punto de intercambio, se reanuda con fines de programación de subprocesos y recibe el objeto pasado por el subproceso actual. El subproceso actual devuelve inmediatamente, recibiendo el objeto pasado al intercambio por ese otro subproceso.

Si ningún otro subproceso ya está esperando en el intercambio, el subproceso actual está deshabilitado con fines de programación de subprocesos y permanece inactivo hasta que se produzca una de las dos cosas: <ul><li>Otros subprocesos entran en el intercambio; o <li>Otros subprocesos Thread#interrupt interrumpen el subproceso actual. </ul>

Si el subproceso actual: ul<li tiene su estado interrumpido establecido en la entrada a este método; o >li<es Thread#interrupt interrumpida mientras espera el intercambio, >se produce /ul< y > se borra el estado interrumpido del subproceso actual.<>InterruptedException

Documentación de Java para java.util.concurrent.Exchanger.exchange(V).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Exchange(Object, Int64, TimeUnit)

Espera a que otro subproceso llegue a este punto de intercambio (a menos que se interrumpa el subproceso actual o se interrumpa el tiempo de espera especificado) y, a continuación, transfiere el objeto especificado a él, recibiendo su objeto a cambio.

[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

Parámetros

x
Object

el objeto que se va a intercambiar

timeout
Int64

tiempo máximo de espera

unit
TimeUnit

la unidad de tiempo del timeout argumento

Devoluciones

el objeto proporcionado por el otro subproceso

Atributos

Comentarios

Espera a que otro subproceso llegue a este punto de intercambio (a menos que se interrumpa el subproceso actual o se interrumpa el tiempo de espera especificado) y, a continuación, transfiere el objeto especificado a él, recibiendo su objeto a cambio.

Si otro subproceso ya está esperando en el punto de intercambio, se reanuda con fines de programación de subprocesos y recibe el objeto pasado por el subproceso actual. El subproceso actual devuelve inmediatamente, recibiendo el objeto pasado al intercambio por ese otro subproceso.

Si ningún otro subproceso ya está esperando en el intercambio, el subproceso actual está deshabilitado con fines de programación de subprocesos y permanece inactivo hasta que se produzca una de las tres cosas: <ul><li>Otros subprocesos entran en el intercambio; o <li>Otros subprocesos Thread#interrupt interrumpen el subproceso actual; o <li>El tiempo de espera especificado transcurre. </ul>

Si el subproceso actual: ul<li tiene su estado interrumpido establecido en la entrada a este método; o >li<es Thread#interrupt interrumpida mientras espera el intercambio, >se produce /ul< y > se borra el estado interrumpido del subproceso actual.<>InterruptedException

Si transcurre el tiempo de espera especificado, TimeoutException se produce . Si el tiempo es menor o igual que cero, el método no esperará en absoluto.

Documentación de Java para java.util.concurrent.Exchanger.exchange(V, long, java.util.concurrent.TimeUnit).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a