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.

Features

  • 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.
  • ExtendedLock interface for invoking functional interface methods while holding the Lock.
  • Add SpeedLock and friends to the locks package. When the application has a fixed number of threads, the SpeedLock offers very high performance for lock acquisition and release.
  • SpeedLock is based on SpinLockOperation.
  • SpeedLockPool is a Lock with an internal pool of SpeedLock instances. A SpeedLockPool is usable by an unlimited number of threads for very high performance locking.
  • SpeedLockDual supports read-write and read-only variants.
  • SpeedLockDualPool manages a pool of SpeedLockDual for access by an unlimited number of concurrent Threads.
  • SpeedLocks utility class with dispenser methods for the various kinds of SpeedLock and factories.

Project Activity

See All Activity >

Categories

Libraries

License

BSD License

Follow JavaMutex

JavaMutex Web Site

You Might Also Like
Top-Rated Free CRM Software Icon
Top-Rated Free CRM Software

216,000+ customers in over 135 countries grow their businesses with HubSpot

HubSpot is an AI-powered customer platform with all the software, integrations, and resources you need to connect your marketing, sales, and customer service. HubSpot's connected platform enables you to grow your business faster by focusing on what matters most: your customers.
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of JavaMutex!

Additional Project Details

Intended Audience

Developers

Programming Language

Java

Related Categories

Java Libraries

Registered

2010-04-09