
1、线程池说明
newCachedThreadPool创建缓存线程池,如果线程池的长度超过处理需要,则可以灵活回收空闲线程,如果不能回收,则可以创建新的线程。
newFixedThreadPool创建一个定长的线程池,可以控制线程的并发数,超过的线程在队列中等待。
newScheduledThreadPool建立固定长线程池,支持定时和周期任务的执行。
newSingleThreadExecutor创建一个单线程化的线程池,只能用唯一的工作线程执行任务,保证所有任务按指定顺序执行。
2、实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | class ThreadDemo extends Thread {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "正在执行" );
}
}
class TestFixedThreadPool {
public static void main(String[] args) {
ExecutorService pool = Executors.newFixedThreadPool(2);
Thread t1 = new ThreadDemo();
Thread t2 = new ThreadDemo();
Thread t3 = new ThreadDemo();
Thread t4 = new ThreadDemo();
Thread t5 = new ThreadDemo();
pool.execute(t1);
pool.execute(t2);
pool.execute(t3);
pool.execute(t4);
pool.execute(t5);
pool.shutdown();
}
}
|
以上就是Java Executors中的四种线程池,希望对大家有所帮助。更多Java学习指路:Java基础