Callable 实用demo
来源:互联网 发布:java swing 做登录界面 编辑:程序博客网 时间:2024/06/03 19:06
//java调用Callable 多线程
package com.example.thread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public class TestThread2 {public static void main(String[] args) {long to = System.currentTimeMillis();int taskSize = 3;ExecutorService pool = Executors.newFixedThreadPool(taskSize);List<Future<List<String>>> listFuture = new ArrayList<>();Callable<List<String>> call = null;Integer[] arr = new Integer[]{100,200,300};for(int i=0; i<taskSize; i++){call = createCallableTask(arr[i]);listFuture.add(pool.submit(call));}pool.shutdown();//get result from futuretry {List<String> result = new ArrayList<>();for(int i=0; i<listFuture.size(); i++){List<String> temp = listFuture.get(i).get();if(null != temp){result.addAll(temp);}}for(int i=0; i<result.size(); i++){System.out.println("element:-->"+ result.get(i));}long tx = System.currentTimeMillis();System.out.println((tx-to)+ " ms");} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ExecutionException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 创建 Callable Task * @return */public static Callable<List<String>> createCallableTask(final Integer base) {Callable<List<String>> call = new Callable<List<String>>() {@Overridepublic List<String> call() throws Exception {List<String> list = new ArrayList<>();for(int i=0; i<base; i++){list.add("base :"+ base + " -e:"+ i);}return list;}};return call;}}
0 0
- Callable 实用demo
- scala线程demo-callable
- Callable,Runnable使用Demo
- 实用Demo
- domion简单实用demo
- GridView 简单实用demo
- zTree框架实用Demo
- webpack教程、实用demo
- 一些iOS实用Demo
- android实用Demo索引
- iOS实用Demo
- JS相关实用Demo
- Callable
- Callable
- Callable
- CoreText的简单实用demo
- 分享一些iOS实用Demo
- HorizontalScrollView 替换 过期Gallery 的实用demo
- python 双端队列
- pycharm配置spark
- Hibernate自动建表失败
- 数据统计之饼图实现
- WP 4 i春秋_百度杯”CTF比赛(九月第一场)
- Callable 实用demo
- java题目整理
- OJ热血格斗场
- APK瘦身小技巧--Analyze APK
- Linux学习_第一章_003
- (转)C++ const用法 尽可能使用const
- 进程与线程的联系与区别
- ubuntu 16.04安装git和qt编译环境命令及其相关内容
- HDOJ--2036 改革春风吹满地