Class GridStripedLock

java.lang.Object
org.apache.ignite.internal.util.GridStripedLock

public class GridStripedLock extends Object
This is an utility class for 'splitting' locking of some int- or long-keyed resources. Map int and long values to some number of locks, and supply convenience methods to obtain and release these locks using key values.
  • Constructor Details

    • GridStripedLock

      public GridStripedLock(int concurrencyLevel)
      Creates new instance with the given concurrency level (number of locks).
      Parameters:
      concurrencyLevel - Concurrency level.
  • Method Details

    • concurrencyLevel

      public int concurrencyLevel()
      Gets concurrency level.
      Returns:
      Concurrency level.
    • getLock

      public Lock getLock(int key)
      Returns Lock object for the given key.
      Parameters:
      key - Key.
      Returns:
      Lock.
    • getLock

      public Lock getLock(long key)
      Returns Lock object for the given key.
      Parameters:
      key - Key.
      Returns:
      Lock.
    • getLock

      public Lock getLock(Object o)
      Returns lock for object.
      Parameters:
      o - Object.
      Returns:
      Lock.
    • lock

      public void lock(int key)
      Locks given key.
      Parameters:
      key - Key.
    • unlock

      public void unlock(int key)
      Unlocks given key.
      Parameters:
      key - Key.
    • lock

      public void lock(long key)
      Locks given key.
      Parameters:
      key - Key.
    • unlock

      public void unlock(long key)
      Unlocks given key.
      Parameters:
      key - Key.
    • lock

      public void lock(Object o)
      Locks an object.
      Parameters:
      o - Object.
    • unlock

      public void unlock(Object o)
      Unlocks an object.
      Parameters:
      o - Object.
    • toString

      public String toString()
      Overrides:
      toString in class Object