returns the executor that will be used to run this service.subclasses may override this method to use a custom executor , which may configure its worker thread with a specific name , thread group or priority . the returned executor 's executor #execute runnable execute method is called when this service is started and stopped , and should return promptly . concode_field_sep Service delegate concode_elem_sep Supplier<String> threadNameSupplier concode_field_sep void doStop concode_elem_sep Throwable failureCause concode_elem_sep String serviceName concode_elem_sep Service startAsync concode_elem_sep void shutDown concode_elem_sep boolean isRunning concode_elem_sep void startUp concode_elem_sep String get concode_elem_sep void doStart concode_elem_sep void awaitTerminated concode_elem_sep void awaitTerminated concode_elem_sep Service stopAsync concode_elem_sep String toString concode_elem_sep State state concode_elem_sep void awaitRunning concode_elem_sep void awaitRunning concode_elem_sep void addListener
Executor function ( ) { return new Executor ( ) { @ Override public void execute ( Runnable arg0 ) { MoreExecutors . newThread ( threadNameSupplier . get ( ) , arg0 ) . start ( ) ; } } ; }