Skip to main content

Tech Note 2

InterProcessMutex acquire() can be used to return immediately if lock can't be acquired.

Details​

It's not obvious from the docs, but calling InterProcessMutex.acquire(0, unit) will return immediately (i.e. without any waiting) if the lock cannot be acquired.

For example:

InterProcessMutex lock = ...;
boolean didLock = lock.acquire(0, TimeUnit.any);
if (!didLock) {
// comes back immediately
}