Java▲java开发基础 多线程( 二 )


ExecutorService的生命周期包括三种状态:运行、关闭、终止 。 创建后便进入运行状态 , 当调用了shutdown()方法时 , 便进入关闭状态 , 此时意味着ExecutorService不再接受新的任务 , 但它还在执行已经提交了的任务 , 当素有已经提交了的任务执行完后 , 便到达终止状态 。 如果不调用shutdown()方法 , ExecutorService会一直处在运行状态 , 不断接收新的任务 , 执行新的任务 , 服务器端一般不需要关闭它 , 保持一直运行即可 。
Executors提供了一系列工厂方法用于创先线程池 , 返回的线程池都实现了ExecutorService接口 。
        创建固定数目线程的线程池 。
   创建一个可缓存的线程池 , 调用execute将重用以前构造的线程(如果线程可用) 。 如果现有线程没有可用的 , 则创建一个新线   程并添加到池中 。 终止并从缓存中移除那些已有 60 秒钟未被使用的线程 。
        创建一个单线程化的Executor 。
创建一个支持定时及周期性的任务执行的线程池 , 多数情况下可用来替代Timer类 。由于篇幅限制 , 先简单介绍这些 , 详细的我们下期再说 。
总结:  在程序开发中 , 我们通常使用线程池来创建线程 , 创建关闭频繁会消耗系统资源影响性能 , 而使用线程池可以不用线程的时候放回线程池 , 用的时候再从线程池取 , 项目开发中主要使用线程池 , 下一期详细介绍线程池的使用 。