Exchanger.Exchange Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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.