LockStrategy.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.cache.lock; import EDU.oswego.cs.dl.util.concurrent.Sync; /** * Interface to specify lock strategy, e.g., for different isolation levels. * * @author Ben Wang */ public interface LockStrategy { /** * Return a read lock object. * * @return Sync (@see EDU.oswego.cs.dl.util.concurrent.Sync) */ Sync readLock(); /** * Return a write lock object. * * @return Sync (@see EDU.oswego.cs.dl.util.concurrent.Sync) */ Sync writeLock(); /** * Attempt to upgrade the current read lock to write lock with * <code>msecs</code> timeout. * * @param msecs Timeout in milliseconds. * @return Sync object. Will return null if timeout or failed. */ Sync upgradeLockAttempt(long msecs) throws UpgradeException; }
LockStrategy.java |