[concurrency-interest] backport-util-concurrent: release 2.0 now available

Dawid Kurzyniec dawidk at mathcs.emory.edu
Wed Jul 6 13:39:06 EDT 2005


The backport-util-concurrent, version 2.0, has been released:

http://www.mathcs.emory.edu/dcl/util/backport-util-concurrent/

Change log:

New features
 
*  Features and fixes resulting from reconcillation with JSR 166 as of
   Jul 4, such as: lazySet in atomics, 
AbstractExecutorService.newTaskFor(),
   RunnableFuture, RunnableScheduledFuture,
   ScheduledThreadPoolExecutor.decorateTask(), better interrupt detection
   in ThreadPoolExecutor, avoiding garbage retention with timeouts in
   SynchronousQueue, fixed reset in CyclicBarrier, remove(x,null) -> false
   in ConcurrentHashMap, changes in navigable maps, addAll fixed in
   CopyOnWriteArrayList, etc.

*  New backported classes: ConcurrentLinkedQueue, 
ConcurrentSkipList[Map,Set]
 
*  Optimizations (replacement of ReentrantLock by synchronized) in:
   CyclicBarrier, DelayQueue, Exchanger, ThreadPoolExecutor
 
*  Optimizations of atomic variables (simple reads are now volatile 
rather than
   synchronized)
 
*  New backported methods in the fair implementation of the ReentrantLock:
   hasWaiters(Condition), getWaitQueueLength(Condition),
   getWaitingThreads(Condition)
 
*  Retrofitted collection classes: AbstractMap, Collections, LinkedList,
   Tree[Map,Set]
 
*  Numerous javadoc clarifications and fixes
 
Bug fixes
 
*  Upon deserialization, ReentrantLock, ReentrantReadWriteLock, and 
Semaphore
   were potentially in a locked (or even illegal) state, contrary to the 
javadoc
 
*  In the fair implementation of ReentrantLock, wait queues of condition
   variables were not actually fair - they are now
 
*  LinkedBlockingQueue had potential deadlocks in remove() and 
toArray(). It has
   now been replaced by a completely new implementation, based on java.u.c
   (rather than dl.u.c)
 
*  Race condition in Condition.awaitUninterruptibly() could cause 
signals to be
   missed if they were coinciding with interrupt attempts
 
Tests
 
*  Updated unit tests for atomics, AbstractQueuedSynchonizer, 
ConcurrentHashMap,
   CyclicBarrier, ExecutorCompletionService, LinkedBlockingQueue, 
ReentrantLock,
   ReentrantReadWriteLock, ScheduledExecutor, ThreadPoolExecutor
 
*  New unit tests for ConcurrentLinkedQueue, ConcurrentSkipList[Map,Set],
   Utils.nanoTime(), LinkedList, Tree[Map,Set]
 
*  Updated numerous stress tests, and new ones added: CachedThreadPoolLoops,
   [Collection,Map]WordLoops, CASLoops, and more





More information about the Concurrency-interest mailing list