jdk自带多线程处理神器Executor
2016-02-19 21:59
561 查看
我在做一个系统时,当时遇到一个情况,就是多个文件要上传到一台服务器上,为了解决性能问题采用多线程处理。
采用JDK自带的Executor。
核心代码:
采用JDK自带的Executor。
核心代码:
public static void main(String[] args) { int size = 10;//size的大小根据实际情况而定。 int activeSize = 5 ;//活动线程数量 //这个要判断,如果等于0,后续程序会报错 if(size==0){ return; } final CountDownLatch end = new CountDownLatch(size); final ExecutorService exec = Executors.newFixedThreadPool(activeSize); for (int index = 0; index < size; index++) { final int No = index; Runnable run = new Runnable() { public void run() { try { /** *通过No取对应的实例 要做的事情,放在一个线程里面。 */ } catch (Exception e) { e.printStackTrace(); } finally { end.countDown(); } } }; exec.submit(run); } //所有进程结束 try { end.await(); exec.shutdown(); } catch (InterruptedException e) { e.printStackTrace(); } }
相关文章推荐
- [Introduction to programming in Java 笔记] 1.3.7 Converting to binary 十进制到二进制的转换
- Spring Cache
- Eclipse 中建立 Maven Web项目
- 关于Spring的AOP的学习随记,心情
- Java IO 装饰者模式
- Java-Java温习之Java中的重点和难点
- java 写99法则表
- Struts和SpringMVC的比较
- Chapter 2、Eclipse(19th,Feb1)
- java项目遇到的 java.security.InvalidKeyException:illegal Key Size 报错解决方案
- 巩固下java基础,接口与抽象类的区别
- java和c#程序,试试语法
- [Java 基础]数据类型
- spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
- Eclipse的使用及Java程序的标识符和关键字
- java实现二分检索树
- Eclipse使用
- 初探12306售票算法(二)-java代码实践
- java文件操作+流的使用
- java:堆栈,队列,枚举,链表