AbstractQueuedSynchronizer 类是 java.util.concurrent.locks.Condition 接口的基类,它有一个名为getState()
的函数
protected final int getState()
返回同步状态的当前值。该操作具有>的存储器语义。不稳定的阅读。
返回:
当前状态值
这个函数返回条件的当前状态,我假设它是等待,超时等待,中止,以int形式发出信号。有谁知道我在哪里可以找到getState()函数的整数定义?
答案 0 :(得分:3)
“州”值的含义取决于子类 - 来自JavaDocs:
此类旨在成为依赖单个原子int值表示状态的大多数同步器的有用基础。子类必须定义更改此状态的受保护方法,并根据要获取或释放的此对象定义该状态的含义。
(我的大胆)
答案 1 :(得分:0)
在com.google.common.util.concurrent.AbstractFuture.Sync
/* Valid states. */
static final int RUNNING = 0;
static final int COMPLETING = 1;
static final int COMPLETED = 2;
static final int CANCELLED = 4;
static final int INTERRUPTED = 8;
虽然接口通常不描述实现细节,但是值可能与其他实现中的不同事件相关联。