> (both CPU and IO bound at different stages of processing) so
> it's ideal to have a thread pool to process different tasks in
> parallel, even though they are independent.

If you use the agents, the underlying implementation uses two thread
pools:
(1) static relative to your processors, use "send" to access it - best
to only use this for cpu hungry threads where you want to maximize
throughput while limiting context switching.
(2) the other grows on demand, use "send-off" to access it - better
choice if IO blocking is involved, otherwise you have a limited number
of threads not doing much.
As such it might be more convenient if the stages you describe were
treated as separate tasks, so they can be queued on the appropriate
thread pool.

> (That's step one. Step two
> will be spreading that "thread pool" out over multiple JVMs running on
> different hardware).

Clojure doesn't have any built in distributed features afaik, so you'd
need to develop a custom protocol or use a popular java lib.



--~--~---------~--~----~------------~-------~--~----~
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 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to