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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
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
---
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.