【发布时间】:2018-09-20 07:10:38
【问题描述】:
我正在编写一些处理多个 REST 调用的 java 代码
call1()
call2()
call3()
...
我想并行化这些调用,但同步执行我的主要代码。 我用lamba和并行流做了一个POC:
List<Runnable> list = new ArrayList();
list.add(() -> {call1()});
list.add(() -> {call2()});
list.add(() -> {call3()});
list.add(...);
list.parallelStream()
.forEach(Runnable::run);
您还有其他解决方案吗? 我还检查了是否使用来自 Jersey 客户端的异步调用,但这需要更多的代码更改。
【问题讨论】:
-
“最好”,在你正在寻找的东西中,是否意味着“使用最少的代码”?有人可能会争辩说,“在相同的时间内完成的同时阻塞最少的线程”是一种获得更好结果的明智方式。那么什么对你来说“更好”呢?
-
最佳意味着最佳性能,具有正确的可读性和更少的核心代码更改
标签: java multithreading rest java-stream