Java▲java开发基础 多线程( 二 )
ExecutorService的生命周期包括三种状态:运行、关闭、终止 。 创建后便进入运行状态 , 当调用了shutdown()方法时 , 便进入关闭状态 , 此时意味着ExecutorService不再接受新的任务 , 但它还在执行已经提交了的任务 , 当素有已经提交了的任务执行完后 , 便到达终止状态 。 如果不调用shutdown()方法 , ExecutorService会一直处在运行状态 , 不断接收新的任务 , 执行新的任务 , 服务器端一般不需要关闭它 , 保持一直运行即可 。
Executors提供了一系列工厂方法用于创先线程池 , 返回的线程池都实现了ExecutorService接口 。
创建固定数目线程的线程池 。
创建一个可缓存的线程池 , 调用execute将重用以前构造的线程(如果线程可用) 。 如果现有线程没有可用的 , 则创建一个新线 程并添加到池中 。 终止并从缓存中移除那些已有 60 秒钟未被使用的线程 。
创建一个单线程化的Executor 。
创建一个支持定时及周期性的任务执行的线程池 , 多数情况下可用来替代Timer类 。由于篇幅限制 , 先简单介绍这些 , 详细的我们下期再说 。
总结: 在程序开发中 , 我们通常使用线程池来创建线程 , 创建关闭频繁会消耗系统资源影响性能 , 而使用线程池可以不用线程的时候放回线程池 , 用的时候再从线程池取 , 项目开发中主要使用线程池 , 下一期详细介绍线程池的使用 。
- 程序员■Java程序员必知:HashMap进行put操作会不会引起死循
- 「外星人」人类大脑只开发了10%左右,是什么限制了大脑深度的开发?
- 课工场郑州翔天信鸽|JavaScript最常用,java是主流,JetBrains公布编程语言排名
- 猿灯塔|POI Excel,Java架构-Apache
- 【Java】github上标星70.5k,贼火的Java突击手册,全面详细对标阿里P7
- SOWORD科技言|为什么NodeJS是创业公司的首选?了解用于Web开发的NodeJS
- 科技俱乐部|或年底发布,苹果正开发第一款基于ARM的MacBook
- 江苏激光产业创新联盟|加州大学戴维斯分校使用微流控技术开发基于液滴的3D打印
- 『MIUI』MIUI:小米10系列因适配Android 11,开发版暂停更新!
- 3DM游戏网|京东方合作开发面板,韩媒:LG明年将发可卷曲的手机