java 多线程统计
private final static ThreadFactory NAMED_THREAD_FACTORY
= (Runnable r) -> new Thread(r, "namexx" + r.hashCode());
private final static ExecutorService EXECUTOR = new ThreadPoolExecutor(8, 16,
180, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(), NAMED_THREAD_FACTORY);
List<Future<Object>> futures = new ArrayList<>();
for (int j = 0; j < deptDtos.size(); j++) {
Future<Object> future = EXECUTOR.submit(new TaskEvaluation(para));
futures.add(future);
}
for (int k = 0; k < futures.size(); k++) {
Object = futures.get(k).get();
}
//排列
list.sort(Comparator.comparing(Object::getScore).reversed());
return list;
/**
* 统计task
*/
class Task1 implements Callable<Object> {
private String para;
public TaskEvaluation(String para) {
this.para = para;
}
@Override
public Object call() {
return getxxSig(para);
}
}

本文介绍了一种使用Java多线程进行任务调度和结果统计的方法。通过创建固定大小的线程池,提交多个任务并收集Future对象,最后获取每个任务的结果,对结果进行排序,实现高效的任务管理和数据处理。

被折叠的 条评论
为什么被折叠?



