本文整理匯總了Java中com.google.common.util.concurrent.AbstractExecutionThreadService類的典型用法代碼示例。如果您正苦於以下問題:Java AbstractExecutionThreadService類的具體用法?Java AbstractExecutionThreadService怎麽用?Java AbstractExecutionThreadService使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
AbstractExecutionThreadService類屬於com.google.common.util.concurrent包,在下文中一共展示了AbstractExecutionThreadService類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: AdbShellProcess
import com.google.common.util.concurrent.AbstractExecutionThreadService; //導入依賴的package包/類
public AdbShellProcess(final AndroidDevice device,
final AndroidProcessBuilder builder) {
this.device = device;
this.builder = builder;
this.workingDir = device.getTempDir() + "/" + UUID.randomUUID();
this.device.deleteOnClose(this.workingDir);
this.stdErr = builder.redirectErrorStream() ?
AdbShellStream.getNull() :
AdbShellStream.get(builder.redirectError(), System.err);
/* Our exit code future */
this.exitFuture = SettableFuture.create();
/* Set up a service that just maps to our own functions */
this.service = new AbstractExecutionThreadService() {
@Override protected void startUp() throws IOException { AdbShellProcess.this.startUp(); }
@Override protected void run() throws IOException, InterruptedException { AdbShellProcess.this.run(); }
@Override protected void shutDown() { AdbShellProcess.this.shutDown(); }
};
service.addListener(new Service.Listener() {
@Override
public void failed(final Service.State from, final Throwable failure) {
AdbShellProcess.this.onFail(failure);
}
}, MoreExecutors.sameThreadExecutor());
service.startAsync();
}