AbstractOwnableSynchronizer
一種同步器,可能只屬于一個線程。該類為創(chuàng)建可能涉及所有權(quán)概念的鎖和相關(guān)同步器提供了基礎(chǔ)。AbstractOwnableSynchronizer類本身不管理或使用此信息。但是,子類和工具可以使用適當(dāng)維護(hù)的值來幫助控制和監(jiān)視訪問并提供診斷。
public abstract class AbstractOwnableSynchronizer
implements java.io.Serializable {
/** 即使所有字段都是短暫的,也要使用串行ID。 */
private static final long serialVersionUID = 3737899427754241961L;
/**
* 空構(gòu)造函數(shù),供子類使用。
*/
protected AbstractOwnableSynchronizer() { }
/**
* 獨占模式同步的當(dāng)前所有者。
*/
private transient Thread exclusiveOwnerThread;
/**
* 設(shè)置當(dāng)前具有獨占訪問權(quán)的線程。
* {@code null}參數(shù)表示沒有線程擁有訪問權(quán)。
* 此方法不強制任何同步或{@code volatile}字段訪問。
* @param thread the owner thread
*/
protected final void setExclusiveOwnerThread(Thread thread) {
exclusiveOwnerThread = thread;
}
/**
* 返回由{@code setExclusiveOwnerThread},
* 或{@code null}(如果從未設(shè)置)設(shè)置的最后一個線程集。
* 此方法不強制執(zhí)行任何同步或{@code volatile}字段訪問。
* @return the owner thread
*/
protected final Thread getExclusiveOwnerThread() {
return exclusiveOwnerThread;
}
}