您的位置:首页 > 编程语言 > Java开发

jdk自带多线程处理神器Executor

2016-02-19 21:59 561 查看
我在做一个系统时,当时遇到一个情况,就是多个文件要上传到一台服务器上,为了解决性能问题采用多线程处理。

采用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();
}
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: