Exchanger.Exchange Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| Exchange(Object) |
Attend qu’un autre thread arrive à ce point d’échange (sauf si le thread actuel est interrompu thread#interruption), puis transfère l’objet donné à celui-ci, recevant son objet en retour. |
| Exchange(Object, Int64, TimeUnit) |
Attend qu’un autre thread arrive à ce point d’échange (sauf si le thread actuel est interrompu thread#interruption ou que le temps d’attente spécifié s’écoule), puis transfère l’objet donné à celui-ci, en recevant son objet en retour. |
Exchange(Object)
Attend qu’un autre thread arrive à ce point d’échange (sauf si le thread actuel est interrompu thread#interruption), puis transfère l’objet donné à celui-ci, recevant son objet en retour.
[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
Paramètres
- x
- Object
objet à échanger
Retours
l’objet fourni par l’autre thread
- Attributs
Remarques
Attend qu’un autre thread arrive à ce point d’échange (sauf si le thread actuel est interrompu thread#interruption), puis transfère l’objet donné à celui-ci, recevant son objet en retour.
Si un autre thread attend déjà au point d’échange, il est repris à des fins de planification de threads et reçoit l’objet transmis par le thread actuel. Le thread actuel retourne immédiatement, recevant l’objet passé à l’échange par cet autre thread.
Si aucun autre thread n’attend déjà à l’échange, le thread actuel est désactivé à des fins de planification de threads et se trouve dormant jusqu’à ce que l’une des deux choses se produise : <ul><li Li>Un autre thread entre dans l’échange ; ou <li>Un autre thread thread#interruption interrompt le thread actuel. </ul>
Si le thread actuel : <ul><li>a son état interrompu défini sur l’entrée de cette méthode ; ou <li>est l’interruption thread#interruption en attendant l’échange, </ul> est InterruptedException levée et l’état interrompu du thread actuel est effacé.
Java documentation pour java.util.concurrent.Exchanger.exchange(V).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
S’applique à
Exchange(Object, Int64, TimeUnit)
Attend qu’un autre thread arrive à ce point d’échange (sauf si le thread actuel est interrompu thread#interruption ou que le temps d’attente spécifié s’écoule), puis transfère l’objet donné à celui-ci, en recevant son objet en retour.
[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
Paramètres
- x
- Object
objet à échanger
- timeout
- Int64
durée maximale d’attente
- unit
- TimeUnit
unité de temps de l’argument timeout
Retours
l’objet fourni par l’autre thread
- Attributs
Remarques
Attend qu’un autre thread arrive à ce point d’échange (sauf si le thread actuel est interrompu thread#interruption ou que le temps d’attente spécifié s’écoule), puis transfère l’objet donné à celui-ci, en recevant son objet en retour.
Si un autre thread attend déjà au point d’échange, il est repris à des fins de planification de threads et reçoit l’objet transmis par le thread actuel. Le thread actuel retourne immédiatement, recevant l’objet passé à l’échange par cet autre thread.
Si aucun autre thread n’attend déjà à l’échange, le thread actuel est désactivé à des fins de planification de threads et se trouve dormant jusqu’à ce que l’une des trois choses se produisent : <ul<>li>Li Un autre thread entre dans l’échange ; ou <li>Un autre thread thread#interruption interrompt le thread actif ; ou <li>Le temps d’attente spécifié s’écoule. </ul>
Si le thread actuel : <ul><li>a son état interrompu défini sur l’entrée de cette méthode ; ou <li>est l’interruption thread#interruption en attendant l’échange, </ul> est InterruptedException levée et l’état interrompu du thread actuel est effacé.
Si le temps d’attente spécifié s’écoule, TimeoutException il est levée. Si le temps est inférieur ou égal à zéro, la méthode n’attend pas du tout.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.