DeviceConcurrentUtil

public class DeviceConcurrentUtil
extends Object

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


包含公用程式方法和類別,可同時執行裝置端指令

使用 ExecutorService 執行以 ShellCommandCallable 實作的指令,並使用 joinFuture(String,Future,long)Future 執行同步處理,如 ExecutorService 為指令執行傳回的結果。

摘要

巢狀類別

class DeviceConcurrentUtil.ShellCommandCallable<V>

Callable,用於包裝在 ITestDevice 上執行殼層指令的詳細資料。 

公用方法

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