ehcache

net.sf.ehcache.concurrent
Class ConcurrencyUtil

java.lang.Object
  extended by net.sf.ehcache.concurrent.ConcurrencyUtil

public final class ConcurrencyUtil
extends Object

Various bits of black magic garnered from experts on the [email protected] mailing list.

Version:
$Id: ConcurrencyUtil.java 2154 2010-04-06 02:45:52Z cdennis $
Author:
Greg Luck

Method Summary
static int hash(Object object)
          Returns a hash code for non-null Object x.
static int selectLock(Object key, int numberOfLocks)
          Selects a lock for a key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

hash

public static int hash(Object object)
Returns a hash code for non-null Object x.

This function ensures that hashCodes that differ only by constant multiples at each bit position have a bounded number of collisions. (Doug Lea)

Parameters:
object - the object serving as a key
Returns:
the hash code

selectLock

public static int selectLock(Object key,
                             int numberOfLocks)
                      throws CacheException
Selects a lock for a key. The same lock is always used for a given key.

Parameters:
key -
Returns:
the selected lock index
Throws:
CacheException

ehcache

Copyright © 2003-2012 Terracotta, Inc.. All Rights Reserved.