一
.
java线程池概述
1 ) . 基本概述 :
1.1 java线程池与数据库连接池类似,解决每次创建线程都需重新创建从而导致消耗资源的问题,
1.2通过创建一个线程池,在需要用到线程做某些操作时,只需连接空闲线程池里的线程,而无需创建,使用之后重新把该线程重新放入线程池供其他请求
使用从而大大提高了应用程序的性能
2 ) . 线程池的核心流程 :
2.1 创建一个ThreadPoolExecutor并指定默认要创建的线程的数量
2.2 通过threadPool.execute()添加一个要执行的线程即实现了Runnable接口的java类
2.3 在实现了Runable接口的java类的run方法中写入具体的业务代码
3 ) . 线程池的业务场景 :
3.1 需求 : 处理图片.每张图片都加水印
3.2 传统方式 : 一张一张进行处理
3.3 线程池方式 : 创建5个线程池,采取分段批量提取的方式每500条为一组数据进行图片信息提取,然后再通过Threadpool的execute方法教给线程池处理
3.4 好处 : 充分使用了CPU硬件资源,又加快了大数据情况下程序的处理效率
4 ) . 如何提高网站的性能
4.1用lucene进行全文检索
4.2 用memcached进行分布式缓存
4.3 用spring定时器freeMarker模板引擎生成静态页面
4.4 贯穿所有结合java线程池进行工作,充分分使用了CPU硬件资源,又加快了大数据情况下程序的处理速度
小结 :
1. 通过线程池分散了系统压力,从而达到大数据情况下程序的处理效率及性能