gpt4 book ai didi

scala - Akka 中的阻塞 IO

转载 作者:行者123 更新时间:2023-12-02 20:04:17 25 4
gpt4 key购买 nike

我最近在做一些 Akka,并且想知道:我可以在 Akka 中进行阻塞 I/O 而不会遇到大麻烦吗?假设我们有一个 Actor,它会执行一些阻塞 I/O,因为它使用遗留库或出于任何其他原因:难道我不能为那些具有合理大小的 ThreadPool 的 Actor 使用一个特殊的调度程序,并且在没有阻塞 I/O 的情况下执行阻塞 I/O 操作吗?阻止所有其他参与者,因为他们使用不同的调度程序运行?

这样做有什么缺点?从参与者调用第三方 HTTP-API 的最佳方式是什么?

最佳答案

一般来说,进行阻塞 IO 是一个坏主意,特别是在响应式(Reactive)多线程环境中,因此您的第一步是尝试完全避免它,这意味着考虑使用 AsyncHttpClientHttpAsyncClient

如果这不起作用,您至少可以通过为阻塞参与者提供自己的线程来降低风险。这当然会付出高昂的代价,并且您仍然有填满他们的邮箱的风险,但这就是使用阻塞 IO 的选择。

您可能还想查看 IO Actor 模块,以获得更原始的网络 IO 接口(interface)。

希望以上内容对您有所帮助,

干杯,√

关于scala - Akka 中的阻塞 IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9485039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com