Guest User

Untitled

a guest
Apr 20th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. (def num-threads 50)
  2.  
  3. (def data (ref 0))
  4.  
  5. (defn hello [data]
  6. (doseq [_ (range 500)]
  7. (Thread/sleep (rand-int 1000))
  8. (dosync (ref-set data (inc @data)))
  9. (println @data)))
  10.  
  11. (def threads (for [_ (range num-threads)] (new Thread #(hello data))))
  12.  
  13. (doseq [t threads] (. t start))
  14.  
  15. (doseq [_ (range 500)]
  16. (Thread/sleep (rand-int 1000))
  17. (println "main thread"))
Add Comment
Please, Sign In to add comment