【发布时间】:2017-09-22 05:12:33
【问题描述】:
我在java中给出了列表
List<String> list;
我有一个函数,它接受 String 并给出 CompletionStage。我想遍历列表并按顺序处理每个任务,即当一个任务给出结果时,只有我想从列表中安排下一个任务。有没有办法在不调用 .get() 的情况下异步执行此操作
我还希望能够在中途停下来,这取决于之前任务的结果。
【问题讨论】:
-
如果您将等待当前任务的结果,为什么不实现它单线程而不是期货?
-
节省资源?否则线程将被阻塞。
-
既然你想按顺序运行任务,一个线程应该足够了。如果您想同时处理其他事情,您可以在一个单独的线程中运行所有任务并保持主线程运行。
-
我不知道它在 java 内部是如何工作的。我以为我们可以调用一些http api,在等待响应时,甚至不会阻塞一个线程!顺便说一句,我也找到了解决方案。
标签: java completable-future futuretask