Java 在循环内等待方法完成执行
我有一个For循环,在这个循环中,我调用一个方法将图像上载到服务器,我面临的问题是,在某个限制下,服务器将强制停止打开的套接字,因此我必须立即上载每个图像Java 在循环内等待方法完成执行,java,android,Java,Android,我有一个For循环,在这个循环中,我调用一个方法将图像上载到服务器,我面临的问题是,在某个限制下,服务器将强制停止打开的套接字,因此我必须立即上载每个图像 for (int i = 0; i < paths.size(); i++) { transferData(paths.get(i), i); } 如何等待方法完成执行,然后继续循环要等待循环,请使用以下代码: CountDownLatch latch=new CountDownLatch(1); for (int i =
for (int i = 0; i < paths.size(); i++) {
transferData(paths.get(i), i);
}
如何等待方法完成执行,然后继续循环要等待循环,请使用以下代码:
CountDownLatch latch=new CountDownLatch(1);
for (int i = 0; i < paths.size(); i++) {
transferData(paths.get(i), i);
try {
latch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
当你的方法丰富到latch.countDown()时代码>您的循环将继续
请注意,您必须将循环放在除主线程之外的另一个线程中。可能重复的@TheWander我认为它有点重复,但我希望循环在函数完成之前不增加,无论成功还是失败,这正是递归将得到的结果。@TheWander我将使用While循环进行尝试,并查看结果
CountDownLatch latch=new CountDownLatch(1);
for (int i = 0; i < paths.size(); i++) {
transferData(paths.get(i), i);
try {
latch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
latch.countDown();