Message-ID: <1851436175.767.1427477362582.JavaMail.email@example.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_766_1152879687.1427477362582" ------=_Part_766_1152879687.1427477362582 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
The Agent is a special-purpose thread-safe non-blocking implemen= tation inspired by Agents in Clojure.
Agents safe-guard mutable values by allowing only a single agent=
-managed thread to make modifications to them. The mutable values =
are not directly accessible from outside, but instead
Agents are asynchronous active objects that accept code (functions) as m= essages. After reception the function is run against the internal state of = the Agent and the return value of the function is considered to be the new = internal state of the Agent.
To wrap integers, we can certainly use AtomicXXX types of the Java platf= orm. When the state or the update algorithms become more complex we need mo= re support.