15-案例实现
案例实现
根据如下步骤来实现本案例。
1.复制 MyThread
、 MyThreadFactory
、 MyTask
类到本工程(参见8.7节)。本案例中将会用到它们。
2.实现本案例的主类,新建 Main
类和 main()
方法:
public class Main {
public static void main(String[] args) throws Exception {
3.创建一个新的 MyThreadFactory
对象 threadFactory
:
MyThreadFactory threadFactory=new MyThreadFactory
("MyThreadFactory");
4.用 Executors
类的 newCachedThreadPool()
方法来创建一个新的 Executor
对象。传递一个之前已经创建好的工厂对象作为参数。而由于新的 Executor
对象将会使用该工厂来创建必要的线程对象,因此它将会执行 MyThread
线程:
ExecutorService executor=Executors.newCachedThreadPool
(threadFactory);
5.创建一个新的 Task
对象,并且用 submit()
方法将它传递到执行器中:
MyTask task=new MyTask();
executor.submit(task);
6.用 shutdown()
方法关闭该执行器:
executor.shutdown();
7.用 awaitTermination()
方法等待执行器的完成:
executor.awaitTermination(1, TimeUnit.DAYS);
8.打印信息以示本程序结束:
System.out.printf("Main: End of the program.\n");