mutex.java

来自「SRI international 发布的OAA框架软件」· Java 代码 · 共 48 行

JAVA
48
字号
/*
 * Written by Doug Lea with assistance from members of JCP JSR-166
 * Expert Group and released to the public domain, as explained at
 * http://creativecommons.org/licenses/publicdomain
 */

import java.util.*;
import edu.emory.mathcs.backport.java.util.concurrent.*;
import edu.emory.mathcs.backport.java.util.concurrent.locks.*;
import edu.emory.mathcs.backport.java.util.concurrent.atomic.*;
import java.io.*;

/**
 * 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 boolean tryLock() {
//        return tryAcquire(1);
//    }
//    public void lockInterruptibly() throws InterruptedException {
//        acquireInterruptibly(1);
//    }
//    public boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException {
//        return tryAcquireNanos(1, unit.toNanos(timeout));
//    }
//    public void unlock() { release(1); }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?