[concurrency-interest] Deque and skip list integration

Luke Blanshard blanshlu@netscape.net
Wed, 29 Dec 2004 18:32:34 -0600

Here's a complaint AND a suggestion.  You didn't update LinkedHashSet 
and LinkedHashMap with any of these useful new methods you've put in to 
the Navigable interfaces.  In fact, you've gone and made the Navigable 
interfaces require sortedness.  As a frequent user of the LinkedHash 
classes, I'd sure like to see the Navigable interfaces depend only on a 
defined order, and if need be add NavigableSortedSet and 
NavigableSortedMap that unifies the Navigable and Sorted interfaces.


dl@cs.oswego.edu wrote:

>As a sign that we believe that APIs and code are stable, we've placed
>the interfaces and implementations of deques and skip lists (that
>we've long had as RFEs) into our main reference repository:
>APIs:   http://gee.cs.oswego.edu/dl/concurrent/dist/docs/index.html
>Jar:    http://gee.cs.oswego.edu/dl/concurrent/dist/jsr166.jar
>Source: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/
>TCK:    http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/test/tck/
>We're not sure when these will be integrated into early-access Mustang
>builds. Probably within a month or so.  As usual, you can use these
>now in 1.5.0 by running java with -Xbootclasspath/p:jsr166.jar .  (You
>may need to precede "jsr166.jar" with its full file path.) Also, we
>will keep the "jsr166x" versions of classes around so you can always
>run them that way.
>Now would be a very good time to take a look at these and tell us if
>you have any complaints or suggestions. We rely on you, the members of
>the concurrency-interest list, to help ensure that APIs are sensible,
>performance is good, and so on.  We would also be thrilled to receive
>code reviews.  The new and updated classes are:
>  java.util interfaces
>    Deque
>    NavigableMap
>    NavigableSet
>  java.util.concurrent interfaces
>    BlockingDeque
>    ConcurrentNavigableMap
>  java.util implementations:
>    ArrayDeque
>    LinkedList  (updated to support Deque)
>    TreeMap     (updated to support NavigableMap)
>    TreeSet     (updated to support NavigableSet)
>    Collections (updated with new adaptor/view methods)
>  java.util.concurrent implementations
>    ConcurrentSkipListMap
>    ConcurrentSkipListSet
>    LinkedBlockingDeque
>    Concurrent  (a new class to hold static factories and adaptors)
>Sources for updated LinkedList, TreeMap, TreeSet, and Collections are
>under Sun license. All others are under our usual public domain
>Aside: The fact that so many things had to be changed or introduced
>merely to support deques and skip lists explains why we postponed this
>to after 1.5.0.
>We are still contemplating and/or working on a few other minor
>RFEs, for example additional TimeUnit values.
>Concurrency-interest mailing list