Message-ID: <587404804.8967.1409444706843.JavaMail.email@example.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_8966_2033928250.1409444706843" ------=_Part_8966_2033928250.1409444706843 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.