ExecutorService function ( final String arg0 ) { return newSingleThreadExecutor ( new NamedThreadFactory ( arg0 ) ) ; }
creates a single threaded executor that silently discards rejected tasks . the problem with java.util.concurrent.executors #newsinglethreadexecutor is that it does not let usspecify a rejectedexecutionhandler , which we need to ensure that garbage is not spewed to the user 's console if the build fails . concode_field_sep AtomicInteger threadCount concode_elem_sep String threadName concode_field_sep void shutdownOrThrow concode_elem_sep Thread newThread concode_elem_sep ScheduledExecutorService newSingleThreadScheduledExecutor concode_elem_sep ExecutorService newMultiThreadExecutor concode_elem_sep ExecutorService newMultiThreadExecutor concode_elem_sep boolean shutdown concode_elem_sep void shutdown