黑马程序员技术交流社区

标题: 对银行业务调度系统中线程池的疑问 [打印本页]

作者: 任亚俊    时间: 2013-12-23 02:16
标题: 对银行业务调度系统中线程池的疑问
本帖最后由 任亚俊 于 2013-12-23 22:07 编辑
  1.         Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
  2.                         new Runnable(){
  3.                                 @Override
  4.                                 public void run() {
  5.                                         Integer serviceNumber = NumberMachine.getInstance().getCommonManager().generateNewNumber();

  6.                                         System.out.println("第" + serviceNumber + "号普通客户正在等待服务!");
  7.                                 }
  8.                                 
  9.                         },
  10.                         0,
  11.                         Constants.COMMON_CUSTOMER_INTERVAL_TIME,
  12.                         TimeUnit.SECONDS);
  13.         }
复制代码

我对上面的代码有些疑问,如下:
1.newScheduledThreadPool(1)方法的作用是什么呢?
2scheduleAtFixedRate方法的作用是什么呢,里面的参数具体是什么意思呢?
作者: 776699    时间: 2013-12-23 02:52
.newScheduledThreadPool(1)方法的作用是创建一个线程池
scheduleAtFixedRate方法的作用是什么作用是定时执行相同的任务。

里面的参数具体是什么意思呢,
new Runnable(){                        // 一个匿名内部类,创建一个线程覆盖run

                                @Override

                                public void run() {

                                        Integer serviceNumber = NumberMachine.getInstance().getCommonManager().generateNewNumber();



                                        System.out.println("第" + serviceNumber + "号普通客户正在等待服务!");

                                }

                                

                        },

                        0,          //调用线程时多久开始执行

                        Constants.COMMON_CUSTOMER_INTERVAL_TIME,   //多久后再次执行相同任务

                        TimeUnit.SECONDS);   //以秒为度量单位






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2