【发布时间】:2021-10-22 21:40:27
【问题描述】:
Rust 中是否有任何规范的方式来发布频繁更新的“状态”,这样任意数量的消费者都可以在不提供对对象本身的访问权限的情况下读取它?
我的用例是我有一个通过 Web 套接字传入的信息流,并希望有聚合的指标可供其他线程使用。可以在外部使用 Kafka 之类的东西来执行此操作,我可能会推出自己的内部解决方案,但想知道是否还有其他方法?
我在 Go 中使用的另一种方法是让消费者向生产者注册自己并每个接收一个频道,生产者只需单独发布到每个频道。通常会有少量消费者,所以这可能会很好,但想知道是否有更好的方法。
【问题讨论】:
标签: multithreading rust concurrency channels