Java CompletionService 如何管理多个任务提交?
How does Java CompletionService manage multiple task submits?
我需要知道当您提交的任务超过当前池大小时,Java 会如何处理。我有以下代码:
Executor executor = Executors.newFixedThreadPool(2); //2 threads
CompletionService<MyCallable> serv = new ExecutorCompletionService<MyCallable>(executor);
for (int i=0; i<500; i++){
serv.submit(new MyCallable(i));
}
如果 submit 是阻塞调用,有什么线索吗?或者如果线程都忙,它会拒绝任务吗?
谢谢大家
它维护一个任务队列,一旦任务添加到队列,就会submit
returns。它不会等待线程开始执行任务。
我需要知道当您提交的任务超过当前池大小时,Java 会如何处理。我有以下代码:
Executor executor = Executors.newFixedThreadPool(2); //2 threads
CompletionService<MyCallable> serv = new ExecutorCompletionService<MyCallable>(executor);
for (int i=0; i<500; i++){
serv.submit(new MyCallable(i));
}
如果 submit 是阻塞调用,有什么线索吗?或者如果线程都忙,它会拒绝任务吗?
谢谢大家
它维护一个任务队列,一旦任务添加到队列,就会submit
returns。它不会等待线程开始执行任务。