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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.老师在模拟客户拿号时候所用到的Executors.newScheduledThreadPool(1).scheduleAtFixedRate()不懂是什么意思
2.还有区分窗口之前的Executors.newSingleThreadExecutor().execute()不懂什么意思 求懂得大神给我解释

4 个回复

正序浏览
可以参考张老师的jdk1.5的线程并发库  主要讲线程的
回复 使用道具 举报
1.老师在模拟客户拿号时候所用到的Executors.newScheduledThreadPool(1).scheduleAtFixedRate()不懂是什么意思

第一个问题的简写代码如下:
创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。你也可以将他理解为一个定时器,多长时间拿一个号
Executors.newScheduledThreadPool(1).scheduleAtFixedRate(//固定频率干一件事。
                                new Runnable(){}, //具体做什么事
                                0,//等待多长时间开始执行
                                Constants.COMMON_CUSTOMER_INTERVAL_TIME,//等待多长时间再去执行
                                TimeUnit.SECONDS);//数据单位,s

上面第一行代码用到了匿名内部类,你可以分开写成下面代码:
ScheduledExecutorService timer=Executors.newScheduledThreadPool(1);//新建一个定时器
timer.scheduleAtFixedRate();//定时器调用方法(固定频率干一件事的方法)

2.还有区分窗口之前的Executors.newSingleThreadExecutor().execute()不懂什么意思

新建一个线程池,随机启动任意个线程。
Executors.newSingleThreadExecutor().execute(new Runnable(){});
创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程。                       

通过pool的产生线程方法,添加Runnable的实现类,匿名内部类

这是我做的笔记,希望对你的理解有所帮助。



回复 使用道具 举报
哪里下载啊,我还没看过,
回复 使用道具 举报
别拿帮助文档糊弄我啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马