corda/classpath/java/util/concurrent
Joel Dice c0d178d5f1 implement ConcurrentHashMap and AtomicReferenceArray
This is the simplest possible ConcurrentHashMap I could come up with
that works and is actually concurrent in the way one would expect.
It's pretty unconventional, being based on a persistent red-black
tree, and not particularly memory-efficient or cache-friendly.  I
think this is a good place to start, though, and it should perform
reasonably well for most workloads.  Patches for a more efficient
implementation are welcome!

I also implemented AtomicReferenceArray, since I was using it in my
first, naive attempt to implement ConcurrentHashMap.

I had to do a bit of refactoring, including moving some non-standard
stuff from java.util.Collections to avian.Data so I could make it
available to code outside the java.util package, which is why I had to
modify several unrelated files.
2014-03-12 10:44:24 -06:00
..
atomic implement ConcurrentHashMap and AtomicReferenceArray 2014-03-12 10:44:24 -06:00
locks Added implementation and tests for FutureTask. 2014-03-10 10:53:49 -06:00
BlockingDeque.java Added interface BlockingDeque, and implementation for ExecutorCompletionService and LinkedBlockingQueue. 2014-03-10 19:06:37 -06:00
BlockingQueue.java More interfaces that were missed previously. 2014-01-09 09:50:15 -07:00
Callable.java update copyright years 2013-07-02 20:52:38 -06:00
CancellationException.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
CompletionService.java More interfaces that were missed previously. 2014-01-09 09:50:15 -07:00
ConcurrentHashMap.java implement ConcurrentHashMap and AtomicReferenceArray 2014-03-12 10:44:24 -06:00
ConcurrentLinkedQueue.java Adds the Deque interface, and allows LinkedList to implement that interface. 2014-03-03 16:02:12 -07:00
ConcurrentMap.java implement ConcurrentHashMap and AtomicReferenceArray 2014-03-12 10:44:24 -06:00
Delayed.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
ExecutionException.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
Executor.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
ExecutorCompletionService.java Added interface BlockingDeque, and implementation for ExecutorCompletionService and LinkedBlockingQueue. 2014-03-10 19:06:37 -06:00
ExecutorService.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
Future.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
FutureTask.java Attempting to prevent interrupting threads after future has completed. 2014-03-10 16:14:10 -06:00
LinkedBlockingQueue.java Added interface BlockingDeque, and implementation for ExecutorCompletionService and LinkedBlockingQueue. 2014-03-10 19:06:37 -06:00
RejectedExecutionException.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
RunnableFuture.java More interfaces that were missed previously. 2014-01-09 09:50:15 -07:00
ScheduledExecutorService.java More interfaces that were missed previously. 2014-01-09 09:50:15 -07:00
ScheduledFuture.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
ThreadFactory.java More interfaces that were missed previously. 2014-01-09 09:50:15 -07:00
TimeoutException.java Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation. 2013-12-23 14:19:41 -07:00
TimeUnit.java Fix for spelling error joel pointed out, as well as a simple unit test around the TimeUnit conversions 2013-12-24 11:30:50 -07:00