----------android培训、java培训、期待与您交流! ----------
并发就是一个时间段内有几个程序同时执行!那么java程序实现的并发我们经常使用多线程来表述!在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。若是我们写的项目需要的线程少的话,这样写是完全可以的!那么要是需要很多很多大量的线程的话,我们在使用这样的方法就过于死板与复杂了!那么怎么办呢?当然我们考虑到的sun公司也考虑到了,在java5.0以后,sun公司对java线程的类库做了大量的扩展,其中线程池就是java5的新特征之一,并且还有很多与多线程编程相关的内容!——Executors
线程池的思想是一种对象池的思想,开放一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完毕,对象归还给池。这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。
Executors类的几个静态方法简单介绍:
newCachedThreadPool 调用 execute 将重用以前构造的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。每个Thread若是60秒没使用则移除
newFixedThreadPool 固定数量的Thread
newSingleThreadExecutor 只有一个Thread,循序的执行指定给它的每个任务
newScheduledThreadPool 创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行
newSingleThreadScheduledExecutor 创建一个单线程执行程序,它可安排在给定延迟后运行命令或者定期地执行