クラス DefaultLockRegistry

java.lang.ObjectSE
org.springframework.integration.support.locks.DefaultLockRegistry
実装されたすべてのインターフェース:
LockRegistry

public final class DefaultLockRegistry extends ObjectSE implements LockRegistry
ロックを取得するためにマスクされたハッシュコードアルゴリズムを使用する LockRegistry のデフォルト実装。このクラスのインスタンスが作成されると、LockSE オブジェクトの配列が作成されます。配列の長さは、コンストラクターで渡される 'mask' パラメーターに基づきます。デフォルトのマスクは 0xFF で、256 個の ReentrantLockSE インスタンスで構成される配列が作成されます。lockKey (例: Object) で obtain(Object) メソッドが呼び出されると、オブジェクトの hashCode (例: object.hashCode & mask) をマスクすることによって LockSE のインデックスが決定され、LockSE が返されます。
導入:
2.1.1
作成者:
Oleg Zhurakousky, Gary Russell
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    256 個のロックを備えたデフォルトのマスク 0xFF を使用して DefaultLockRegistry を構築します。
    指定されたマスクを使用して DefaultLockRegistry を構築します。マスクの値は Math.pow(2、n)-1 である必要があります。ここで、n は 1 〜 31 で、Math.pow(2、n)ロックのハッシュを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    obtain(ObjectSE lockKey)
    lockKey の hashCode() をマスクでマスクし、その結果をロックテーブルのインデックスとして使用してロックを取得します。

    クラス 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

      public LockSE obtain(ObjectSE lockKey)
      lockKey の hashCode() をマスクでマスクし、その結果をロックテーブルのインデックスとして使用してロックを取得します。
      次で指定:
      インターフェース LockRegistryobtain 
      パラメーター:
      lockKey - ロックインデックスの導出に使用されるオブジェクト。
      戻り値:
      関連するロック。