クラス DefaultLockRegistry
java.lang.ObjectSE
org.springframework.integration.support.locks.DefaultLockRegistry
- 実装されているすべてのインターフェース:
LockRegistry<LockSE>
ロックを取得するためにマスクされたハッシュコードアルゴリズムを使用する
LockRegistry のデフォルト実装。このクラスのインスタンスが作成されると、LockSE オブジェクトの配列が作成されます。配列の長さは、コンストラクターで渡される 'mask' パラメーターに基づきます。デフォルトのマスクは 0xFF で、256 個の ReentrantLockSE インスタンスで構成される配列が作成されます。lockKey (例: Object) で obtain(Object) メソッドが呼び出されると、オブジェクトの hashCode (例: object.hashCode & mask) をマスクすることによって LockSE のインデックスが決定され、LockSE が返されます。- 導入:
- 2.1.1
- 作成者:
- Oleg Zhurakousky, Gary Russell
コンストラクターの概要
コンストラクターコンストラクター説明デフォルトのマスク 0xFF と 256 のロックを持つ 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()デフォルトのマスク 0xFF と 256 のロックを持つ 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<LockSE>のobtain - パラメーター:
lockKey- ロックインデックスの導出に使用されるオブジェクト。- 戻り値:
- 関連するロック。