java 多线程统计

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);
    }
}

版权声明:本文为apple_1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。