【发布时间】:2015-02-08 11:22:52
【问题描述】:
这是我以前的question 的后续。假设我需要同步和异步调用一个 REST 服务。在同步情况下,我想在调用者线程上执行此操作,而不从池中获取其他线程。
我只想编写我的业务逻辑一次并在这两种情况下重用它。业务逻辑包括构建请求和处理响应。
我还想编写 REST 调用,就像在“调用服务 A,然后是服务 B,然后是服务 C”中一样
你会如何在 Scala 中做到这一点?
【问题讨论】:
-
您想通过 Akka 还是使用 Java 并发工具来实现它?你也考虑过玩吗?
-
stackoverflow.com/questions/6581188/… 可能会提供一些见解。然后,您可以为同步案例传递“当前线程”执行器,并为异步传递一个带有其他线程的真正执行器。
-
@I.K.我更喜欢 Scala 而不是 Java。 Akka 和 Play 应该没问题。
-
@RichHenry 是的,我可以使用
Executor、Runnable和Callable,但我担心生成的代码会看起来很丑,不值得。 -
好吧,我以为您会将其提供给
ExecutionContext.fromExecutorService而不是使用全局上下文,并且仍然使用Future等。我不建议直接使用 Java 类型。
标签: multithreading scala rest