首页 > 代码库 > java中线程池

java中线程池

在jdk1.5中加入了java.util.concurrent,这个包中主要介绍java中线程以及线程池的使用

现在看怎么创建一个线程池,在java中Executors类创建线程池的,而线程池分为三类,

1:Executors.newFixedThreadPool(3);//这是固定的线程池

2: Executors.newCachedThreadPool();创建一个带缓存的线程池,比如创建了3个线程在线程池中,但是现在有10个线程在执行任务,因此它还会创建7个线程

3:Executors.newSingleThreadExecutor()创建一个单一的线程池,改线程池中只有一个线程,当线程挂了线程池会马上创建一个线程代替挂了的线程


现在看下具体的用法,在java中线程池是用ExecutorService中表示,它有个execute()方法,在这个方法中有个参数Runnable,是个接口,用户只要实现这个接口并传递进去,就表示执行的一个任务,比如线程池中定义了只有3个线程,但我却执行了4个任务,会怎么办呢?原因是这样的,如果在三个线程中有一个线程任务执行完毕了,也就是这个线程没任务可执行了,就会马上执行下面的任务,


java中线程池