DeviceConcurrentUtil

public class DeviceConcurrentUtil
extends Object

java.lang.Object
com.android.tradefed.util.DeviceConcurrentUtil


Contient des méthodes et des classes utilitaires pour l'exécution simultanée de commandes côté appareil

Utilisez ExecutorService pour exécuter les commandes implémentées en tant que ShellCommandCallable, et utilisez joinFuture(String,Future,long) pour la synchronisation par rapport à Future tel que renvoyé par ExecutorService pour l’exécution de la commande.

Résumé

Classes imbriquées

class DeviceConcurrentUtil.ShellCommandCallable<V>

Un Callable qui encapsule les détails de l'exécution de la commande shell sur un ITestDevice

Méthodes publiques

static <T> T joinFuture(String taskDesc, Future<T> task, long timeout)

Méthode pratique pour joindre le thread actuel sur la task

DeviceNotAvailableException et TimeoutException survenues lors de l'exécution sont transmises de manière transparente. Les autres sont enregistrées comme des erreurs, mais ne sont pas gérées autrement.

Méthodes publiques

joinFuture

public static T joinFuture (String taskDesc, 
                Future<T> task, 
                long timeout)

Méthode pratique pour joindre le thread actuel sur la task

DeviceNotAvailableException et TimeoutException survenues lors de l'exécution sont transmises de manière transparente. Les autres sont enregistrées comme des erreurs, mais ne sont pas gérées autrement.

Paramètres
taskDesc String : description de la tâche à des fins de journalisation

task Future : Future représentant la tâche à joindre

timeout long : délai d'attente pour la tâche

Renvoie
T Résultat de la tâche avec le type de modèle.

Génère
com.android.tradefed.device.DeviceNotAvailableException
java.util.concurrent.TimeoutException
DeviceNotAvailableException
TimeoutException