Two queues cover the 80% case: an implementation of BlockingQueue (array, linked list backed), and clojure.lang.PersistentQueue.
The former provides concurrency semantics: there are no 'stale values' issues associated to mutation, and you can choose whether your reads/writes are blocking (which is important, given that typically one wants bounded size queues) or not. The latter, just like the other persistent data structures, must be wrapped in a reference type in order to express change. There are also thread-unsafe queues (i.e. need locking), and SynchronousQueue, which while it's not actually a queue (it can never store a single element!), is a very handy reference type - like Clojure promises but reusable. On Thursday, March 7, 2013 9:32:38 PM UTC+1, larry google groups wrote: > > > At some point on this mailist, someone suggested that to best understand > concurrency in Java, once should read: > > Java Concurrency In Practice > > > http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=sr_1_1?ie=UTF8&qid=1362688125&sr=8-1&keywords=java+concurrency+in+practice > > So I read it, but I am surprised that it says fairly little about working > with queues. I am curious if anyone would recommend a book for learning > more about working with Java queues? > > I suffer the problem that I learned Clojure without first learning Java, > and Clojure leans on Java rather heavily, so I am now trying to come up to > speed on Java. > > > > > > > > -- -- 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.