准备做一个系列文章,将零散的知识整理起来分享给大家,希望给大家的工作和学习带来帮助。
目录
1.Executor
2.ExecutorService
3.Executors
4.ThreadPoolExecutor
5.ScheduledExecutorService
6.ScheduledThreadPoolExecutor
一.Executor介绍
说明:这个接口只有一个方法,主要实现了Runnable接口的任务,当初设计者设计这个接口时是想把任务和“任务的运行方法”、“线程的调度和使用”分离开来,想用来替代直接用Thread的方式。下面我们就来一起学习下这个接口的简单使用。
1.方法
void execute(Runnable command); //执行一个实现了Runnable接口的任务
2.类继承结构
图
3.代码演示
public class ExecutorDemo {
public static void main(String[] args) {
Executor executor = Executors.newCachedThreadPool();
Runnable run1 = new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");
}
};
Runnable run2 = new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");
}
};
Runnable run3 = new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");
}
};
executor.execute(run1);
executor.execute(run3);
executor.execute(run2);
}
}
二.总结
这篇文章初步介绍了Executor的使用方法,只有一个接口,通常用于将任务分解为单独的task,每个task即可以运行在新线程中又可以运行在调用线程中。很多时候Executor的使用要求task的实施必须是在某种特定的条件下,如在特定的时间如何执行,具体的细节可以在今后的工作中慢慢体会。