线程池不是什么时候都要用的,他也是一种资源,用的不对可能并不会带来性能上的提高,正确的使用方法是有一堆任务需要创建线程去执行,任务就是对象,在java里面,就好比是实现了Runnable接口的对象,那么此时就用线程池,如果紧紧就个吧两个进程,那得了,还是没必要,其实线程池,我看在效率上来讲,就是降低了线程创建的时间消耗,实际上原理和创建单个的线程差不太多。
多线程处理就会提升性能,在相同的时间里做更多的事情,服务更多的客户。线程池是用来提高创建线程的效率;
多线程,其实就是并发。
当你做某个事情(即你某段代码执行时间特别长如,1分钟才执行完),特别耗时的时候,就要考虑多线程了。
你之所以用不到多线程,那就是你的处理还称不上复杂,即你做的系统太小,用不到多线程。
所以:
耗时=多线程
当耗时的时候,就要考虑多线程了
线程池能有效的处理多个线程的并发问题,避免大量的线程因为互相强占系统资源导致阻塞现象,能够有效的降低频繁创建和销毁线程对性能所带来的开销。真正线程池的实现是通过ThreadPoolExecutor,ThreadPoolExecutor通过配置不同的参数配置来创建线程池。下面简单的介绍一下各个线程池的区别和用处。
并发量大的场景,譬如从一个目录里读入大量文件写入数据库,使用多线程能够极大提高效率。
但是线程也不是越多效率越高,往往需要最后调优。