DeviceConcurrentUtil

public class DeviceConcurrentUtil
extends Object

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


इसमें डिवाइस पर एक साथ कई कमांड चलाने के लिए, यूटिलिटी के तरीके और क्लास शामिल हैं

ShellCommandCallable के तौर पर लागू किए गए निर्देशों को चलाने के लिए, ExecutorService का इस्तेमाल करें. साथ ही, निर्देश को लागू करने के लिए ExecutorService से मिले Future के साथ सिंक करने के लिए, joinFuture(String,Future,long) का इस्तेमाल करें.

खास जानकारी

नेस्टेड क्लास

class DeviceConcurrentUtil.ShellCommandCallable<V>

यह एक Callable है, जो किसी ITestDevice पर शेल कमांड को लागू करने की जानकारी को रैप करता है. 

पब्लिक मेथड

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

task पर मौजूदा थ्रेड में शामिल होने का आसान तरीका

DeviceNotAvailableException और TimeoutException को पारदर्शी तरीके से पास किया जाता है. अन्य गड़बड़ियों को लॉग किया जाता है, लेकिन उन्हें ठीक नहीं किया जाता.

पब्लिक मेथड

joinFuture

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

task पर मौजूदा थ्रेड में शामिल होने का आसान तरीका

DeviceNotAvailableException और TimeoutException को पारदर्शी तरीके से पास किया जाता है. अन्य गड़बड़ियों को लॉग किया जाता है, लेकिन उन्हें ठीक नहीं किया जाता.

पैरामीटर
taskDesc String: लॉगिंग के लिए टास्क की जानकारी

task Future: Future में शामिल होने के लिए टास्क को दिखाता है

timeout long: टास्क के लिए इंतज़ार करने का समय खत्म हो गया है

रिटर्न
T टेंप्लेट टाइप के साथ टास्क का नतीजा.

थ्रो
com.android.tradefed.device.DeviceNotAvailableException
java.util.concurrent.TimeoutException
DeviceNotAvailableException
TimeoutException