concurrency - 使用Clojure DataFlow编程习惯

标签 concurrency clojure dataflow

有人可以解释一下为什么以及我将如何使用Clojure Dataflow编程API,因为我似乎在互联网上找不到太多关于它的信息。

最佳答案

我认为阅读有关什么是数据流编程的其他信息最有帮助。 Imho,Groovy GPars家伙有一些关于dataflow的最好的文档。过去,GPars mailing lists曾就数据流,CSP,参与者等进行过很多讨论,是一个提出问题的好地方。

其他有用的链接:

  • Data Flow concurrency in Groovy-Vaclav Pech(GPars)
  • Flowing with the data-Vaclav Pech(GPars)
  • Select dataflow-Vaclav Pech(GPars)
  • 来自GPars文章的example-Alex Miller
  • Presentation-Jonas Boner(Akka/Scala)
  • 当然是

  • Clojure Wikipedia非常简单,基本上是在引用之上构建数据流变量,并在这些引用上监视函数。您可能会发现实际的implcode比文档更有用。

    数据流变量引用的规范示例是电子表格的示例,其中每个变量都是电子表格中由其他单元格的值定义的单元格。当一个单元发生变化时,这些变化会以依存关系的顺序向前波动。数据流变量本身在某种程度上受到限制-我认为数据流流是使这个想法变得更加有趣的地方。

    从某种意义上说,轻量级处理节点的想法是安排在(通常是较小的)一组固定线程上的,每个固定线程都由类似队列的流连接,从而在非常高的层次上描述了所有{数据流,actor,CSP}。目标是在所有情况下都通过保持有工作的节点在不工作的节点上保持高吞吐量来保持高吞吐量,并且避免用户管理显式线程和锁(通过它们之间的队列/流/ channel 解耦) )。

    关于concurrency - 使用Clojure DataFlow编程习惯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565158/

    相关文章:

    scala - scala中是否有快速并发语法糖的实现?例如。 map 减少

    ios - NSURLSession 多个并发请求被 Exchange 服务器拒绝

    java - 同时向 HashMap 添加元素

    clojure - 多页应用的试剂配置

    clojure - 试剂中的交互式列表

    java - 将集合传递给 FileIO.match().filepattern()

    java - 线程池中的多个线程在同一个List中写入数据

    machine-learning - GCP - 创建数据流(Pub/Sub -> 预测(ML 模型) -> BigQuery/Firebase)

    java - 无法在本地运行 GCP DataflowTemplates

    clojure - Clojure上的GPU编程?