クラス DefaultLockRegistry
java.lang.ObjectSE
org.springframework.integration.support.locks.DefaultLockRegistry
- 実装されたすべてのインターフェース:
LockRegistry
ロックを取得するためにマスクされたハッシュコードアルゴリズムを使用する
LockRegistry
のデフォルト実装。このクラスのインスタンスが作成されると、Lock
SE オブジェクトの配列が作成されます。配列の長さは、コンストラクターで渡される 'mask' パラメーターに基づきます。デフォルトのマスクは 0xFF で、256 個の ReentrantLock
SE インスタンスで構成される配列が作成されます。lockKey (例: Object) で obtain(Object)
メソッドが呼び出されると、オブジェクトの hashCode (例: object.hashCode & mask
) をマスクすることによって Lock
SE のインデックスが決定され、Lock
SE が返されます。- 導入:
- 2.1.1
- 作成者:
- Oleg Zhurakousky, Gary Russell
コンストラクターの概要
コンストラクターコンストラクター説明256 個のロックを備えたデフォルトのマスク 0xFF を使用して DefaultLockRegistry を構築します。DefaultLockRegistry
(int mask) 指定されたマスクを使用して DefaultLockRegistry を構築します。マスクの値は Math.pow(2、n)-1 である必要があります。ここで、n は 1 〜 31 で、Math.pow(2、n)ロックのハッシュを作成します。メソッドのサマリー
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.integration.support.locks.LockRegistry から継承されたメソッド
executeLocked, executeLocked, executeLocked, executeLocked
コンストラクターの詳細
DefaultLockRegistry
public DefaultLockRegistry()256 個のロックを備えたデフォルトのマスク 0xFF を使用して DefaultLockRegistry を構築します。DefaultLockRegistry
public DefaultLockRegistry(int mask) 指定されたマスクを使用して DefaultLockRegistry を構築します。マスクの値は Math.pow(2、n)-1 である必要があります。ここで、n は 1 〜 31 で、Math.pow(2、n)ロックのハッシュを作成します。例:
- 0x3ff(1023) - 1024 ロック
- 0xfff(4095) - 4096 ロック
- パラメーター:
mask
- ビットマスク。
メソッドの詳細
obtain
lockKey の hashCode() をマスクでマスクし、その結果をロックテーブルのインデックスとして使用してロックを取得します。- 次で指定:
- インターフェース
LockRegistry
のobtain
- パラメーター:
lockKey
- ロックインデックスの導出に使用されるオブジェクト。- 戻り値:
- 関連するロック。