=== shutdown(): lets running AND already-queued tasks finish === task-0: started task-1: started main: called shutdown() - isShutdown=true, isTerminated=false task-0: finished normally task-2: started task-1: finished normally task-3: started task-3: finished normally task-4: started task-2: finished normally task-5: started task-4: finished normally task-5: finished normally main: awaitTermination returned true - all 6 tasks ran to completion, none were skipped === shutdownNow(): interrupts running tasks, abandons queued ones === task-0: started task-1: started main: called shutdownNow() - 4 queued tasks abandoned, never started task-1: interrupted, exiting early task-0: interrupted, exiting early main: awaitTermination returned true - the 2 running tasks were interrupted mid-sleep, not allowed to finish done