--- jsr166/src/test/loops/Mutex.java 2005/05/02 19:19:38 1.1 +++ jsr166/src/test/loops/Mutex.java 2009/10/29 23:09:07 1.2 @@ -11,33 +11,33 @@ import java.util.concurrent.atomic.*; import java.io.*; /** - * A sample user extension of AbstractQueuedSynchronizer. + * A sample user extension of AbstractQueuedSynchronizer. */ public final class Mutex extends AbstractQueuedSynchronizer implements Lock, java.io.Serializable { public boolean isHeldExclusively() { return getState() == 1; } - + public boolean tryAcquire(int acquires) { return compareAndSetState(0, 1); } - + public boolean tryRelease(int 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(1); + public void lock() { + acquire(1); } - public boolean tryLock() { + public boolean tryLock() { return tryAcquire(1); } - public void lockInterruptibly() throws InterruptedException { + public void lockInterruptibly() throws InterruptedException { acquireInterruptibly(1); } public boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException {