黑马程序员技术交流社区
标题:
对银行业务调度start方法的疑问
[打印本页]
作者:
任亚俊
时间:
2013-12-23 03:17
标题:
对银行业务调度start方法的疑问
本帖最后由 任亚俊 于 2013-12-23 22:06 编辑
public void start(){
Executors.newSingleThreadExecutor().execute(
new Runnable(){
public void run(){
//下面这种写法的运行效率低,最好是把while放在case下面
while(true){
switch(type){
case COMMON:
commonService();
break;
case EXPRESS:
expressService();
break;
case VIP:
vipService();
break;
}
}
}
}
);
}
复制代码
对于上面代码,我有两个地方不懂,1.为什么用单线程池呢,不是很理解?
2.为什么while放在前面效率低呢,是不是用do while效率高呢?
哪位给细细的讲一下,谢谢。
作者:
776699
时间:
2013-12-23 09:25
1.为什么用单线程池呢,不是很理解? 用线程池为了方便创建线程,1.5新特性,简化代码书写。
2.为什么while放在前面效率低呢,是不是用do while效率高呢?
while实现判断后执行,若用do while就是先执行后判断,减少判断,所以会高一点。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2