JavaMutex is a free and open source, easy to use Java library that implements 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.
Here are some key features of "JavaMutex":
· 100% pure Java; runs on any tiger-compliant (SE 1.5) JVM.
· Does not rely on proprietary JVM internal implementations or JVM internal data structures.
· 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.
Requirements:
· Java
What's New in This Release: [ read full changelog ]
· SynchronousQueue: added more static methods for creating wrapped
· ReceivePipe and TransmitPipe from their respective Factory instances.