原文:http://blog.csdn.net/jenny8080/article/details/52100312

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 App { public static void main(String[] args) {
try {
List<String> list = new ArrayList<String>();
for (int i = 0; i < 1000; i++) {
list.add(i + ",");
} System.out.println(list2Str(list, 5));
} catch (Exception e) {
e.printStackTrace();
}
}
public static String list2Str(List<String> list, final int nThreads)
throws Exception {
if (list == null || list.isEmpty()) {
return null;
}
StringBuffer ret = new StringBuffer(); int size = list.size();
ExecutorService executorService = Executors.newFixedThreadPool(nThreads);
List<Future<String>> futures = new ArrayList<Future<String>>(nThreads);
for (int i = 0; i < nThreads; i++) {
final List<String> subList = list.subList(size / nThreads * i, size/ nThreads * (i + 1));
Callable<String> task = new Callable<String>() {
public String call() throws Exception {
StringBuffer sb = new StringBuffer();
for (String str : subList) {
sb.append(str);
}
return sb.toString();
}
};
futures.add(executorService.submit(task));
} for (Future<String> future : futures) {
ret.append(future.get());
}
executorService.shutdown(); return ret.toString();
} }

最新文章

  1. JSONP跨域操作
  2. JQuery选择器
  3. Session中load/get方法的详细区别
  4. JavaWeb 自定义404页面
  5. 数据文件 和日志文件 收缩 Sql Server
  6. 五指CMS发布,主打高性能
  7. win10全系列官方MSDN原版系统安装密钥、版本区别、镜像下载地址与激活教程
  8. 转:Java同步synchronized使用
  9. while循环 操作列表与字典
  10. bzoj3224Tyvj 1728 普通平衡树 treap
  11. SQL Server 远程更新目标表数据
  12. [LeetCode] Quad Tree Intersection 四叉树相交
  13. 【XAF问题】层层分级,如何让按钮显示指定的视图
  14. Python之OS内置模块
  15. sip (db33)信令交互-视频点播与回播
  16. Android Launcher分析和修改5——HotSeat分析
  17. JavaScript构造函数详解
  18. panabit允许一台代理服务器只能收QQ企业邮箱,和内网ip通讯,限制除了QQ企业邮箱以外的所有内容规则
  19. display:block、inline、inline-block的区别及应用案例
  20. ITerms2在mac系统下的安装和配色,并和go2shell关联

热门文章

  1. C# 笔记——委托
  2. 用vue-cli来搭建vue项目和webpack
  3. mybatis官网学习
  4. hdu5728
  5. Linux下使用ssh远程登录服务器
  6. python模块之HTMLParser
  7. 如何将hdf5文件转换成tflite文件
  8. 洛谷P4587 [FJOI2016]神秘数(主席树)
  9. Linux命令之unzip
  10. RabbitMQ (九) 消息的参数详解