Scala 生产者消费者:我应该同步读取访问吗

Scala 生产者消费者:我应该同步读取访问吗,scala,synchronization,Scala,Synchronization,考虑生产者-消费者问题,一个生产者和几个消费者。消费者等待,直到他们被告知价值已经产生。生产者写入一个值并通知所有消费者,然后消费者读取该值。最后:使用屏障同步消费者和生产者的终止。这个过程会重复 问题:我是否应该提供独占访问(例如同步)来为消费者读取价值(或为生产者编写?)。我知道最明显的答案是:“认真的?不!”但我只是想确保我没有遗漏任何奇怪的细节。如果您正在构建并发应用程序,我建议您调查Akka。它提供了很多东西,学习起来也不简单,但就并发性和分发而言,它是相当全面的 对于您的特定情况,其

考虑生产者-消费者问题,一个生产者和几个消费者。消费者等待,直到他们被告知价值已经产生。生产者写入一个值并通知所有消费者,然后消费者读取该值。最后:使用屏障同步消费者和生产者的终止。这个过程会重复


问题:我是否应该提供独占访问(例如同步)来为消费者读取价值(或为生产者编写?)。我知道最明显的答案是:“认真的?不!”但我只是想确保我没有遗漏任何奇怪的细节。

如果您正在构建并发应用程序,我建议您调查Akka。它提供了很多东西,学习起来也不简单,但就并发性和分发而言,它是相当全面的


对于您的特定情况,其数据流变量可能适合您的需要(并使您免于公开同步!)

消息将发送给所有使用者,但每个使用者都可以访问该值,还是仅第一个可以读取该值的使用者可以访问该值?如何删除值?