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.


Reply via email to