在程序启动的时候就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程 
  第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 
  第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 
  第三:提高线程的可管理性。 
常用线程池:ExecutorService 是主要的实现类,其中常用的有 :
Executors.newSingleThreadPool()

      newFixedThreadPool()

      newcachedTheadPool()

      newScheduledThreadPool()