@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并没有被阻塞。