Executor是线程池的顶层接口,这个接口只有一个方法;运行指定任务;
运行一个任务,可能在一个新的线程,也可能在一个线程池,也可能在调用线程来执行;具体需要看接口的实现类;
void execute(Runnable command);
这个接口只提供运行线程任务的方法,并没有提供一个提交线程的任务的方法,提交线程任务的方法是在扩展类中实现的;所以此接口实现任务提交和任务执行进行解耦,用户无需关心如何创建线程,如何调度线程来执行任务;
用户只需要提供Runnable对象,将任务提交给执行器(Executor)中,有Executor框架完成线程的调配和任务的执行;
下面是一个顺序执行线程的任务的执行器;
实现思路:
- 实现用一种委托的方式,也可以说是一种装饰设计模式,真正执行任务代码的构造方法中执行器(Executor);</