question: public void shutdown ( ) { final long begin = System . currentTimeMillis ( ) ; log . info ( "ThreadPoolManager: Shutting down." ) ; log . info ( "\t... executing " + getTaskCount ( scheduledPool ) + " scheduled tasks." ) ; log . info ( "\t... executing " + getTaskCount ( instantPool ) + " instant tasks." ) ; log . info ( "\t... executing " + getTaskCount ( longRunningPool ) + " long running tasks." ) ; log . info ( "\t... " + ( workStealingPool . getQueuedTaskCount ( ) + workStealingPool . getQueuedSubmissionCount ( ) ) + " forking tasks left." ) ; scheduledPool . shutdown ( ) ; instantPool . shutdown ( ) ; longRunningPool . shutdown ( ) ; workStealingPool . shutdown ( ) ; boolean success = false ; try { success |= awaitTermination ( 5000 ) ; scheduledPool . setExecuteExistingDelayedTasksAfterShutdownPolicy ( false ) ; scheduledPool . setContinueExistingPeriodicTasksAfterShutdownPolicy ( false ) ; success |= awaitTermination ( 10000 ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } log . info ( "\t... success: " + success + " in " + ( System . currentTimeMillis ( ) - begin ) + " msec." ) ; log . info ( "\t... " + getTaskCount ( scheduledPool ) + " scheduled tasks left." ) ; log . info ( "\t... " + getTaskCount ( instantPool ) + " instant tasks left." ) ; log . info ( "\t... " + getTaskCount ( longRunningPool ) + " long running tasks left." ) ; log . info ( "\t... " + ( workStealingPool . getQueuedTaskCount ( ) + workStealingPool . getQueuedSubmissionCount ( ) ) + " forking tasks left." ) ; workStealingPool . shutdownNow ( ) ; }
target:  Shutdown all thread pools.