DeviceConcurrentUtil

public class DeviceConcurrentUtil
extends Object

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


デバイス側のコマンドの同時実行のためのユーティリティ メソッドとクラスが含まれています。

ExecutorService を使用して ShellCommandCallable として実装されたコマンドを実行し、joinFuture(String,Future,long) を使用して ExecutorService によって返された Future に対してコマンド実行の同期を行います。

概要

ネストされたクラス

class DeviceConcurrentUtil.ShellCommandCallable<V>

ITestDevice でシェル コマンドを実行する詳細をラップする Callable。 

パブリック メソッド

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

task で現在のスレッドを結合する便利なメソッド

実行中に発生した DeviceNotAvailableExceptionTimeoutException は透過的に渡され、それ以外はエラーとしてロギングされますが、それ以外は処理されません。

パブリック メソッド

joinFuture

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

task で現在のスレッドを結合する便利なメソッド

実行中に発生した DeviceNotAvailableExceptionTimeoutException は透過的に渡され、それ以外はエラーとしてロギングされますが、それ以外は処理されません。

パラメータ
taskDesc String: ロギング目的のタスクの説明

task Future: 結合するタスクを表す Future

timeout long: タスクの待機タイムアウト

戻り値
T テンプレート タイプを含むタスクの結果。

例外
com.android.tradefed.device.DeviceNotAvailableException
java.util.concurrent.TimeoutException
DeviceNotAvailableException
TimeoutException