我最近在做一些Akka,我想知道:我可以在Akka中做阻塞I/O而不会遇到大麻烦吗?比方说,我们有一个Actor,它执行一些阻塞I/O,因为它使用了遗产库或任何其他原因:难道我不能只对那些Actor使用特殊的分派程序,这些Actor具有合理大小的ThreadPool并执行阻塞I/O,而不阻塞所有其他Actor,因为它们使用不同的分派程序运行吗?
这样做的缺点是什么?从参与者调用第三方HTTP-API的最佳方式是什么?
发布于 2012-02-29 00:49:02
一般来说,阻塞IO不是一个好主意,特别是在反应式多线程环境中,所以你的第一步是尽量避免所有的阻塞,这意味着要考虑使用AsyncHttpClient或HttpAsyncClient。
如果这不起作用,您至少可以通过为阻塞参与者提供自己的线程来减轻风险。这当然会很昂贵,而且您仍然有可能填满他们的邮箱,但这就是使用阻塞IO的选择。
您可能还希望查看IO Actor模块,以获得更原始的网络IO接口。
希望这些能帮上忙,
干杯,√
https://stackoverflow.com/questions/9485039
复制相似问题