什么是java线程池框架
来源:才华咖 本文已影响9.93K人
来源:才华咖 本文已影响9.93K人
多线程是程序员面试时常常会面对的问题,对多线程概念的掌握和理解水平,也常常被用来衡量一个人的编程实力。不错,普通的.多线程已经不容易了。
一、线程池结构图
二、示例
定义线程接口
6public class MyThread extends Thread {@Overridepublicvoid run() {tln(entThread()ame() + "正在执行");}}
1:newSingleThreadExecutor
10ExecutorService pool = Executors. newSingleThreadExecutor();Thread t1 = new MyThread();Thread t2 = new MyThread();Thread t3 = new MyThread();//将线程放入池中进行执行ute(t1);ute(t2);ute(t3);//关闭线程池down();
输入结果:
3pool-1-thread-1正在执行pool-1-thread-1正在执行pool-1-thread-1正在执行
2:newFixedThreadPool
13ExecutorService pool = ixedThreadPool(3);Thread t1 = new MyThread();Thread t2 = new MyThread();Thread t3 = new MyThread();Thread t4 = new MyThread();Thread t5 = new MyThread();//将线程放入池中进行执行ute(t1);ute(t2);ute(t3);ute(t4);ute(t5);down();
输入结果:
4pool-1-thread-1正在执行pool-1-thread-2正在执行pool-1-thread-1正在执行pool-1-thread-2正在执行
3 :newCachedThreadPool
14ExecutorService pool = achedThreadPool();Thread t1 = new MyThread();Thread t2 = new MyThread();Thread t3 = new MyThread();Thread t4 = new MyThread();Thread t5 = new MyThread();//将线程放入池中进行执行ute(t1);ute(t2);ute(t3);ute(t4);ute(t5);//关闭线程池down();
输入结果:
5pool-1-thread-2正在执行pool-1-thread-4正在执行pool-1-thread-3正在执行pool-1-thread-1正在执行pool-1-thread-5正在执行
4 :ScheduledThreadPoolExecutor
14ScheduledExecutorService pool = cheduledThreadPool(2);duleAtFixedRate(new Runnable() {//每隔一段时间就触发异常 @Override public void run() { //throw new RuntimeException(); tln("================"); }}, 1000, 2000, ISECONDS);duleAtFixedRate(new Runnable() {//每隔一段时间打印系统时间,证明两者是互不影响的 @Override public void run() { tln("+++++++++++++++++"); }}, 1000, 2000, ISECONDS);
输入结果:
4================+++++++++++++++++++++++++++++++++++++++++++++++++++
三、线程池核心参数
corePoolSize : 池中核心的线程数
maximumPoolSize : 池中允许的最大线程数。
keepAliveTime : 当线程数大于核
Java语言Class文件是什么
面试流程是什么样呢?
java类文件是什么
Java泛型是什么
Java虚拟机是什么
java中什么是字段
java加密算法是什么
Java语言优势是什么
java语言优点是什么
Java接口是什么
sun认证java程序员须知Java日志框架
什么是Java
三味线是什么意思
Java4安卓开发教程之java的变量
java数组赋值是什么
Java入门教程:如何使用一个Java
java位操作符是什么
java框架知识点总结
javahibernate是什么
javaHibernate是什么
Java新手如何学习Spring框架
什么是java集合类
java继承是什么
计算机二级JAVA考试构建JAVA程序2017
Java是什么