This is the Linux app named JavaMutex whose latest release can be downloaded as JavaMutex-2017-04-09a.zip. It can be run online in the free hosting provider OnWorks for workstations.
Download and run online this app named JavaMutex with OnWorks for free.
Follow these instructions in order to run this app:
- 1. Downloaded this application in your PC.
- 2. Enter in our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.
- 3. Upload this application in such filemanager.
- 4. Start the OnWorks Linux online or Windows online emulator or MACOS online emulator from this website.
- 5. From the OnWorks Linux OS you have just started, goto our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.
- 6. Download the application, install it and run it.
JavaMutex
DESCRIPTION:
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.
Audience
Developers
Programming Language
Java
This is an application that can also be fetched from https://sourceforge.net/projects/javamutex/. It has been hosted in OnWorks in order to be run online in an easiest way from one of our free Operative Systems.