ExecutorService--这段代码怎么了???????????????

rockets311 2015-04-02 09:04:02
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Test {
private static ExecutorService es = Executors.newFixedThreadPool(3);
public static void main(String[] args) {
for(;;){
es.execute(new Runnable() {
@Override
public void run() {
System.out.println("hello");
}
});
}
}
}

为什么刚开始执行的很顺利,然后慢慢儿变慢,然后Exception in thread "pool-1-thread-1" ,然后又变快……
...全文
223 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rockets311 2015-04-07
  • 打赏
  • 举报
回复
Ghost_520 2015-04-03
  • 打赏
  • 举报
回复
你创建的Executor 管理器是无止境的, 就是不停的在创建新的线程, 并发是 3 个, 当 线程满了的时候, 其他的例如第4 个会进行等待,会进行wait() , 等到出现free 的线程的时候, 线程会释放出来了。一般 for 循环里面就是你的并发数。
skgary 2015-04-03
  • 打赏
  • 举报
回复
就是开了一个3线程的线程池,然后不停的往里面扔任务。 估计扔的太快,来不及执行了?

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧