Dispatch a potentially blocking action to an agent. Returns the
agent immediately. Subsequently, in a separate thread, the state of
the agent will be set to the value of:
(apply action-fn state-of-agent args)
user=> (def my-agent (agent "")) #'user/my-agent user=> @my-agent "" ;; Note the following happens asynchronously in a thread ;; pool user=> (send my-agent #(slurp %2) "file.txt") #<Agent@13c6641: ""> ;; Assuming the action has been invoked the value will ;; now be updated when we look at it. user=> @my-agent "file contents"
(defn send-off
"Dispatch a potentially blocking action to an agent. Returns the
agent immediately. Subsequently, in a separate thread, the state of
the agent will be set to the value of:
(apply action-fn state-of-agent args)"
{:added "1.0"}
[^clojure.lang.Agent a f & args]
(. a (dispatch f args true)))
Comments top
No comments for send-off. Log in to add a comment.