DeviceConcurrentUtil

public class DeviceConcurrentUtil
extends Object

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


Enthält Hilfsmethoden und -klassen für die gleichzeitige Ausführung von Befehlen auf dem Gerät

Verwenden Sie ExecutorService, um Befehle auszuführen, die als ShellCommandCallable implementiert sind, und verwenden Sie joinFuture(String,Future,long), um die Synchronisierung mit dem Future durchzuführen, das von ExecutorService für die Befehlsausführung zurückgegeben wird.

Zusammenfassung

Verschachtelte Klassen

class DeviceConcurrentUtil.ShellCommandCallable<V>

Ein Callable das die Details der Ausführung eines Shellbefehls auf einem ITestDevice umschließt. 

Öffentliche Methoden

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

Praktische Methode, um den aktuellen Thread mit der task zu verknüpfen

DeviceNotAvailableException und TimeoutException, die während der Ausführung aufgetreten sind , werden transparent weitergegeben. Andere werden als Fehler protokolliert, aber nicht anderweitig behandelt.

Öffentliche Methoden

joinFuture

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

Praktische Methode, um den aktuellen Thread mit der task zu verknüpfen

DeviceNotAvailableException und TimeoutException, die während der Ausführung aufgetreten sind , werden transparent weitergegeben. Andere werden als Fehler protokolliert, aber nicht anderweitig behandelt.

Parameter
taskDesc String: Beschreibung der Aufgabe für Protokollierungszwecke

task Future: Future, das die zu verknüpfende Aufgabe darstellt

timeout long: Zeitlimit für das Warten auf die Aufgabe

Gibt Folgendes zurück:
T Das Ergebnis der Aufgabe mit dem Vorlagentyp.

Löst aus
com.android.tradefed.device.DeviceNotAvailableException
java.util.concurrent.TimeoutException
DeviceNotAvailableException
TimeoutException