为了账号安全,请及时绑定邮箱和手机立即绑定

newFixedThreadPool例子无法运行求解

newFixedThreadPool例子无法运行求解

沧海一幻觉 2018-07-31 11:18:01
@Test public void test1() {     ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3);     for (int i = 0; i < 10; i++) {         final int index = i;         fixedThreadPool.execute(new Runnable() {             @Override             public void run() {                 try {                     System.out.println(index);                     Thread.sleep(2000);                 } catch (Exception e) {                     e.printStackTrace();                 }              }         });     } }以上是我在别的博客找到的例子,但是这个例子无法实现“每2秒打印3个数字”这个效果。前三个线程被执行,但是后面加入的都不行。for并没有被阻塞。
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

在两秒钟所有的这个for循环都执行完了 三个以后的线程只能在队列中排队了 你打印时间长点会继续的


查看完整回答
反对 回复 2018-08-11
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

completed tasks = 0说明你的Runnable没有一个是执行完成的,检查一下你是不是开debug在public void run()里面打了断点导致所以线程block在run方法里面。


查看完整回答
反对 回复 2018-08-11
  • 2 回答
  • 0 关注
  • 1612 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号