需求
在app列表首页,展示多个item,并有分页;而每个item里后台都会调用一个http请求,判断当前item的状态
分析
为了更好的用体验,无疑需要使用多线程并行处理http请求,而且还需要拿到每个线程的执行结果...继承了AbstractExecutorService、ExecutorService,对ExecutorService中的invokeAll方法产生极大的兴趣,仔细阅读注释,其实这个方法用来并行执行任务...编码实现
invokeAll方法的入参分别为任务列表list、超时时间、时间单位,所以首先我们需要创建任务列表:
Listlist=newArrayList();...超时时间为每个FutureTask执行超时时间,这里设置成3s,这里的3s超时时间是针对的所有tasks,而不是单个task的超时时间,如果超时,会取消没有执行完的所有任务,并抛出超时异常,源码如下:...System.nanoTime();
}
}
BasicUserFilter需要实现Callable接口,因为在方法call里能拿到线程的执行结果, 下面就是并行执行任务了