--- jsr166/src/test/loops/LongMutex.java 2005/05/02 19:19:38 1.1 +++ jsr166/src/test/loops/LongMutex.java 2009/10/29 23:09:07 1.2 @@ -11,34 +11,34 @@ import java.util.concurrent.atomic.*; import java.io.*; /** - * A sample user extension of AbstractQueuedLongSynchronizer. + * A sample user extension of AbstractQueuedLongSynchronizer. */ public final class LongMutex extends AbstractQueuedLongSynchronizer implements Lock, java.io.Serializable { static final long LOCKED = -1L; public boolean isHeldExclusively() { return getState() == LOCKED; } - + public boolean tryAcquire(long acquires) { return compareAndSetState(0, LOCKED); } - + public boolean tryRelease(long releases) { setState(0); return true; } public Condition newCondition() { return new ConditionObject(); } - + private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { s.defaultReadObject(); setState(0); // reset to unlocked state } - public void lock() { - acquire(LOCKED); + public void lock() { + acquire(LOCKED); } - public boolean tryLock() { + public boolean tryLock() { return tryAcquire(LOCKED); } - public void lockInterruptibly() throws InterruptedException { + public void lockInterruptibly() throws InterruptedException { acquireInterruptibly(LOCKED); } public boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException {