需要异步运行 1000 次操作,我选择使用 Akka。在 Actor Ref 执行器中扭曲并向 ref 发送 1000 条消息。
我怎么能确定:
- 所有 1000 条消息都将以 asnc 方式发送
- 每个都将持有单独的、独立的线程(这是由于 io 使用而需要的)。
您可以使用PinnedDispatcher
来保证每个 actor 一个线程,并且 Akka 中的所有内容都是异步的,因此您可以保证消息是异步的。如果您使用!
运营商发送消息,则消息以即发即弃的方式发送。
有关更多详细信息,请参阅此内容。
感谢大家的回复,实际上对于我的 RoundRobinRouter (其中路由数等于预期线程数)和带有标志 thread-pool-executor.allow-core-timeout=off 的 PinnedDispatcher 的组合工作正常。