gpt4 book ai didi

clojure - Clojure promise 与使用 add-watch 相比有什么好处?

转载 作者:行者123 更新时间:2023-12-04 10:11:59 25 4
gpt4 key购买 nike

我正在研究在 clojure 中实现并发的不同方式,这些似乎是做同一件事的两种相互竞争的方式,所以我想知道我应该在哪里使用每种技术。

最佳答案

Watches是关于并发系统中的一个实体和 promises大约是两个实体。

promise 更像是一种在不同时间线上的事件之间进行通信的方式。它们为一段代码提供了一种接收响应的方法,而不必担心将提供答案的机制。原始代码路径可以创建一个promise,并将其传递给单个线程中的两个不同代码路径,或者分布式系统中的线程、代理或节点。然后,当其中一个线程/代理/引用需要答案时,它可以阻止 promise ,而无需了解有关将履行 promise 的实体的任何信息。当另一个线程/代理/引用/其他找出答案时,它可以履行 promise ,而无需了解正在等待 promise (或尚未等待)的实体的任何信息。

promise 是一种跨时间线的通信机制,独立于所使用的并发机制。

Watches 是一种指定在 atom 或 ref 更改时要调用的函数的方法。这是一种将意图传达给单个代理/引用的所有 future 状态的方式,通过说“嘿,确保此条件始终为真”或“在此处记录更改”。

关于clojure - Clojure promise 与使用 add-watch 相比有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4623151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com