Java Executors中的四种线程池

1、线程池说明

newCachedThreadPool创建缓存线程池,如果线程池的长度超过处理需要,则可以灵活回收空闲线程,如果不能回收,则可以创建新的线程。

newFixedThreadPool创建一个定长的线程池,可以控制线程的并发数,超过的线程在队列中等待。

newScheduledThreadPool建立固定长线程池,支持定时和周期任务的执行。

newSingleThreadExecutor创建一个单线程化的线程池,只能用唯一的工作线程执行任务,保证所有任务按指定顺序执行。

2、实例

classThreadDemoextendsThread{

@Override

publicvoidrun(){

System.out.println(Thread.currentThread().getName()+"正在执行");

}

}

classTestFixedThreadPool{

publicstaticvoidmain(String[]args){

//创建一个可重用固定线程数的线程池

ExecutorServicepool=Executors.newFixedThreadPool(2);

//创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口

Threadt1=newThreadDemo();

Threadt2=newThreadDemo();

Threadt3=newThreadDemo();

Threadt4=newThreadDemo();

Threadt5=newThreadDemo();

//将线程放入池中进行执行

pool.execute(t1);

pool.execute(t2);

pool.execute(t3);

pool.execute(t4);

pool.execute(t5);

//关闭线程池

pool.shutdown();

}

}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容