Provides 100% pure Java mutual exclusion.

Add a Review
9 Downloads (This Week)
Last Update:
Browse All Files


Freely redistributable open source 100% pure Java for mutual exclusion. Read-write and read-only reentrant lock, condition variable, atomic wraps for Boolean, Integer, Long, and Reference. Cell pool with optional locking, object exchanger, Intersect.

JavaMutex Web Site




BSD License


  • 100% pure Java; requires Java SE 8 support for Lambda expressions.
  • Does not rely on proprietary JVM internal implementations or JVM internal data structures (unlike the Oracle implementation of java.util.concurrent.* packages).
  • Supports java.util.concurrent.locks Lock, ReadWriteLock and Condition instances, read-write and read-only.
  • Supports java.util.concurrent.atomic AtomicBoolean, AtomicInteger, AtomicLong, AtomicReference, AtomicMarkedReference, AtomicStampedReference. Adds more functionality.
  • Supports java.util.concurrent Exchanger, Semaphore. Adds ExchangerPool class.
  • Includes new interfaces and classes for mutual exclusion and concurrent processing.
  • New Intersect/Pathway mutual exclusion protocol.
  • New SpinLock API for fast path updating of volatile fields.
  • New SpinLockOperation for general atomic fetch and store operations while holding a SpinLock.
  • New SpinLockList, SpinLockNode doubly-linked list example classes for SpinLockOperation accesses.
  • New atomic wrappers for SpinLock usage.
  • New volatile wrappers for SpinLockOperation usage.
  • SpinLockList supports Iterable, Iterator, ListIterator interfaces.
  • New interfaces LatchFactory, LockFactory, ReenterableLockFactory, ReenterableDualLockFactory.
  • New interface IntersectFactory and dispenser methods in IntersectLatch, IntersectLimited.
  • New ConditionClosure paradigm applied to locks and intersects to support condition variables.
  • New ReenterableLockAvailable API to notify the client when the ReenterableLock is fully released.
  • Added CountDownLatch and CyclicBarrier, with additional convenience methods.
  • Added TrafficBarrier as thread barrier simulating a traffic intersection.
  • Added TransferPipe for one-way producer-consumer designs.
  • Added SynchronousQueue class, and interfaces TransceivePipe, TransmitPipe, ReceivePipe (and factories).
  • Added EventToken and EventTokenSet for a thread to await on one or more events in one or more worker threads.
  • Added parallel package for simple worker thread pools.
  • FutureWork class for executing Callable instances.
  • Includes sample TestMultiServer to demonstrate deadlock-free modularized thread servers using EventTokenSet. The sample servers are lock-free, even when requesting data from other servers.
  • Support for ExecutorService, ScheduledExecutorService, CompletionService.
  • Includes sample Dining Philosophers solution using the software SpinLock API without deadlocks or starvation, and uses no synchronized blocks.


Write a Review

User Reviews

Be the first to post a review of JavaMutex!

Additional Project Details

Intended Audience


Programming Language



Screenshots can attract more users to your project.
Features can attract more users to your project.

Icons must be PNG, GIF, or JPEG and less than 1 MiB in size. They will be displayed as 48x48 images.