for(int i=0; i < size; i++){
loadImageFromServer(i);
}
loadImageFromServer();
需要花费一些时间才能从服务器加载图像。
示例:
当i
为0时,loadImageFromServer(0)
开始。但是然后,在完成loadImageFromServer(0)
并开始loadImageFromServer(1)
之前,循环再次执行。现在,我希望循环等待该时间(我的意思是,首先完成loadImageFromServer(0)
的任务),然后执行下一个循环。该怎么做?
答案 0 :(得分:0)
建议,理想情况下,您应该同时下载多张图片,并使用ThreadPoolExecutor
。
int numberOfProcessor = Runtime.getRuntime().availableProcessors();
ThreadPoolExecutor executor = new ThreadPoolExecutor(
numberOfProcessor * 2,
numberOfProcessor * 2,
60L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>()
);
for (int i = 0; i < size; i++) {
executor.execute(new Runnable() {
@Override
public void run() {
loadImageFromServer();
}
});
}