> (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 -~----------~----~----~----~------~----~------~--~---