在开发的过程中,我们经常会遇到批量处理, 我们会选择多线程处理。 以前的java版本里必须开发者自己来实现线程池, 一个线程完成退出了, 另外一个线程执行。现在java中提供了线程池, 现在简单说一下设计到的知识。
1. 初始化一个线程池
ExecutorService pool = Executors.newFixedThreadPool(MAX); MAX为1是单线程
2. 添加执行任务
Callable<Integer> callable = new UploadWork<Integer>();
Future<Integer> result= pool.submit(callable);
初始化一个Worker, worker工作类继承Callable接口, 然后往pool添加多个worker,
3. 查看任务是否执行的结束及结果
result.isDone(); 查看是否执行结束
int count = result.get(); 返回批量处理的数量
4.关闭线程池
pool.shutdown();