complete example (ns wm.test (import [java.util.concurrent Executors]) )
(def deliveries (map char (range 65 90))) (defn- test-fn [delivery another param] (println "in test sleeping" delivery another param) (let[sleep-for (rand-int 10000)] (println "sleeping for " sleep-for) (Thread/sleep sleep-for) ) (println "finished sleeping" delivery) ) (defn- deliver-parallely [nthreads deliveries] (let[pool (Executors/newFixedThreadPool nthreads) tasks (for [delivery_ deliveries] #(test-fn delivery_ 1 5)) futures (.invokeAll pool tasks) ] (println "max " (.getMaximumPoolSize pool)) (for [ftr futures] (.get ftr)) (.shutdown pool) ) ) (deliver-parallely2 4 deliveries) -- -- 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 Note that posts from new members are moderated - please be patient with your first post. 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.