And 2 is yes, just to stop them at the repl by flipping a flag. Was
especially useful when first coding it up.

Rich

On Oct 29, 11:20 am, Stuart Halloway <[EMAIL PROTECTED]>
wrote:
> Hi Konrad,
>
> I can answer 1 and 3:
>
> (1) *agent* is set thread locally whenever a thread is an agent
> action. It's all in the Java code, grep for AGENT
>
> (3) send uses a thread pool that you should not assume you control, so
> blocking for e.g. I/O would be bad behavior and could hurt other
> agents' ability to progress. send-off gives you your own thread so you
> can't cause trouble by blocking
>
> Stuart
>
>
>
> > I am trying to understand Rich's ant colony demo. It is pretty clear
> > overall, except for one aspect: the use of
>
> >     (when running
> >       (send-off *agent* ...))
>
> > in all the functions executed by the agents, where ... stands for the
> > function itself. My guess is that this simply sends another request
> > for the same action, making for an infinite simulation. However, I
> > would like to understand how this works in detail.
>
> > 1) What exactly is *agent*? It looks like a reference to the agent in
> > which the function is executing, but how does this work exactly? I
> > didn't find any explanation in the explanation of agents on the
> > Clojure Web site.
>
> > 2) What is the point of (when running ...) considering that running is
> > set to true initially and then never changes? Is this just a way to
> > stop the simulation by running (def running false) from the command
> > prompt?
>
> > 3) What is the exact difference between send and send-off? The manual
> > says the latter is for "potentially blocking functions", but what does
> > that mean and what is done differently in that case?
>
> > (send-off Konrad understand-clojure)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to