【问题标题】:Producer Consumer Queue in ClojureClojure 中的生产者消费者队列
【发布时间】:2012-07-29 19:22:27
【问题描述】:

我想在 clojure 中构建一个生产者-消费者程序。要求是消费者可以在生产者将消息放入队列时从队列中拖动项目,如果使用 java 我将使用ConcurrentLinkedQueue,但我不太确定如何使用不可变集合在 clojure 中执行此操作,请帮助。

【问题讨论】:

  • @JeremyHeiler 我希望使用纯 clojure 代码,如 vector、list、ref 之类的东西来实现这一点,只是不知道是否可能?

标签: clojure


【解决方案1】:

如果您只需要 1 个消费者,只需使用代理即可。如果没有看到 见Clojure Producer ConsumerProducer consumer with qualifications

【讨论】:

    【解决方案2】:

    我认为您可以在原子内部使用 Clojure 的 immutable queue,这样您就可以对队列进行原子访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多