Message-ID: <998580005.277.1411215080727.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_276_1169567228.1411215080727" ------=_Part_276_1169567228.1411215080727 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.