多线程-按顺序放(按顺序取执行结果)
2017-08-29 10:42
302 查看
package com.hthl.rabbit; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class TestDemo{ public static void main(String[] args) throws Exception { new TestDemo().js(); } public void js() throws Exception{ ExecutorService service=Executors.newFixedThreadPool(3); List<Future<String>> futureList=new ArrayList<Future<String>>(); for (int i = 0; i <10; i++) { CallableTask task=new CallableTask(i); futureList.add(service.submit(task));//按顺序放 } for (int j = 0; j < futureList.size(); j++) { System.out.println("按顺序取结果:"+futureList.get(j).get()); } System.out.println("计算结束了!"); service.shutdown(); } private class CallableTask implements Callable<String>{ Integer temp; public CallableTask(Integer d){ temp=d; } @Override public String call() throws Exception { System.out.println("执行第"+temp+"个任务"); return "第"+temp+"个任务:"+Thread.currentThread().getName(); } } }
相关文章推荐
- 多线程分页获取查询结果,所有线程执行完毕,按顺序合并查询结果
- 多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture
- 你知道吗?多个类多线程环境下静态构造函数的执行顺序
- 多线程-synchronized锁在类级别和方法级执行结果的区别
- java多线程-使用notify和wait完成多线程的顺序执行
- 如何让SQL语句不执行默认排序,而是按照in语句的顺序返回结果
- 请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。
- jquery中的ajax如何返回结果而非回调方式即为同顺序执行
- java多线程-使用notify和wait完成多线程的顺序执行
- java高效获取多线程执行结果
- TestNG入门教程(TestNG介绍、在Eclipse中安装TESTNG、测试小例子、基本注解、如何执行测试、按顺序执行Case、异常测试、组合测试、参数化测试、忽略测试、依赖测试、测试结果报告)
- 多线程执行顺序、速度
- 四个线程a,b,c,d. 线程a,b对变量i加一. 线程c,d对变量i减去一.四个线程顺序执行, 每个线程每次只执行一次.i的初始值为0, 打印结果0 1 2 1 0 1 2 1 0 1 2...
- try catch finally的执行顺序即结果
- 基于AF按顺序执行回调结果
- java多线程-使用notify和wait完成多线程的顺序执行
- Java多线程与并发应用-(11)-用Lock+Condition实现1,2,3 三个模块按顺序执行。
- Combiner执行顺序引起的错误,无法产生结果
- 多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture...
- java并发多线程-返回执行结果(Callable和Future)(9)