我想在clojure中构建一个生产者 - 消费者计划。要求是消费者可以在生产者将消息放入队列时从队列中拖动项目,如果使用java我将使用ConcurrentLinkedQueue
,但我不太确定如何使用不可变集合在clojure中执行此操作,请帮忙。
答案 0 :(得分:3)
如果您只想要1个消费者,只需使用代理商即可。如果没有看到 请参阅Clojure Producer Consumer或Producer consumer with qualifications
答案 1 :(得分:2)
我认为你可以在一个原子中使用Clojure的immutable queue,它可以让你对队列进行原子访问。