spring多线程返回值 并对多个返回值进行操作
来源:互联网 发布:网络剪刀手中文版下载 编辑:程序博客网 时间:2024/06/06 05:38
最近遇到一个问题:有一大堆的债券,需要根据不同类别的标签进行筛选出需要的债券,并且还要根据条件对这些标签分别进行并和或操作。
最终决定使用callable+future来实现:
具体代码如下:
@RequestMapping("/test")public Object test(HttpServletRequest request){try{//创建一个线程池ExecutorService pool = Executors.newFixedThreadPool(2);//创建多个有返回值的任务List<Future<List<String>>> list = new ArrayList<>();Callable<List<String>> c1 = myCallable01();//执行任务并获取Future对象Future<List<String>> f1 = pool.submit(c1);list.add(f1);Callable<List<String>> c2 = myCallable02();//执行任务并获取Future对象Future<List<String>> f2 = pool.submit(c2);list.add(f2);//关闭线程池pool.shutdown();List<String> list1 = list.get(0).get();List<String> list2 = list.get(1).get();//取并集list2.removeAll(list1);list1.addAll(list2);}catch{}return "";}public Callable<List<String>> myCallable01(){return new Callable<List<String>>(){@Overridepublic List<String> call() throws Exception{Thread.sleep(6000);List<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");return list;}}}public Callable<List<String>> myCallable02(){return new Callable<List<String>>(){@Overridepublic List<String> call() throws Exception{Thread.sleep(9000);List<String> list = new ArrayList<>();list.add("ccc");list.add("ddd");list.add("eee");return list;}}}
阅读全文
1 0
- spring多线程返回值 并对多个返回值进行操作
- HttpClient多线程调用并返回值
- 多个返回值
- webservice中返回多个返回值
- js函数返回多个返回值
- spring 获取 返回的值,进行修改
- lua对redis操作返回值问题
- 《Android JNI》02 对java传进来的整形参数进行操作并返回
- 《Android JNI》04 对java传进来的数组进行操作并返回
- C# 多线程返回值
- C# 多线程返回值
- java多线程返回值
- 多线程有返回值
- java多个返回值
- 函数多个“返回值”
- 输入非法数字时进行判断并返回值TryParse
- 用linq对datatable进行分组查询并返回datatable
- oracle to_char()是可以对返回值进行计算的
- MFC各种字符串的含义
- maven 加入json-lib.jar 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile
- java基础精简汇总,个人学习笔记,看完或许你java基础就毕业了,
- 百度开源RPC框架brpc
- java学习第36天,list集合
- spring多线程返回值 并对多个返回值进行操作
- 最近找工作的面试总结
- linux学习第八篇:文件或目录权限chmod,更改所有者和所属组chown,umask,隐藏权限lsattr_chattr
- ABP框架学习之——授权(Authorization)
- 拦截器
- tomcat配置虚拟映射路径
- eclipse如何把多个项目放在文件夹下
- 并发锁
- 面向对象,类的组合关系,继承,实现,方法重写,方法重载,this的使用,抽象方法和抽象类的比较,父类构造方法存在的意义,多态的是用和解析,各种访问修饰符