A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任亚俊 中级黑马   /  2013-12-23 02:16  /  919 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 任亚俊 于 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方法的作用是什么呢,里面的参数具体是什么意思呢?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

1 个回复

倒序浏览
.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);   //以秒为度量单位

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马