当前位置:嗨网首页>书籍在线阅读

15-案例实现

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

案例实现

根据如下步骤来实现本案例。

1.复制 MyThreadMyThreadFactoryMyTask 类到本工程(参见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");