DeviceConcurrentUtil

public class DeviceConcurrentUtil
extends Object

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


包含用于并发执行设备端命令的实用程序方法和类

使用 ExecutorService 运行实现为 ShellCommandCallable 的命令,并使用 joinFuture(String,Future,long)Future 进行同步,因为 ExecutorService 会针对命令执行返回该 Future

摘要

嵌套类

class DeviceConcurrentUtil.ShellCommandCallable<V>

一个 Callable,用于封装在 一个 ITestDevice 上执行 shell 命令的详细信息。 

公共方法

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