Я пытаюсь понять, что происходит, когда агенты вызывают агентов.
(def top (agent 0))
(def bottom (agent 1))
У меня есть минимальная пара:
(defn testA []
"This returns 'top', whose value is 'bottom', whose value is 2."
(send top (fn [top-value]
(send bottom inc)))
(await top)
top)
(defn testB []
"This never terminates."
(send top (fn [top-value]
(send bottom inc)
(await bottom) ;;<- this is new
bottom))
(await top)
top)
Что происходит с внутренним ожиданием? Какие факторы вступают в игру, когда один агент вызывает другого?
Спасибо