Mercurial > hg > Members > shoshi > TreeCMSv2
view src/treecms/tree/util/LockableReference.java @ 23:77a894c0b919
commit
author | shoshi |
---|---|
date | Thu, 09 Jun 2011 01:03:48 +0900 |
parents | |
children | 68021f7091e1 |
line wrap: on
line source
package treecms.tree.util; import java.util.concurrent.locks.ReentrantLock; public class LockableReference<V> { private volatile V m_ref; private volatile ReentrantLock m_lock; public LockableReference(V _ref) { m_ref = _ref; m_lock = new ReentrantLock(); } public V get() { m_lock.lock(); V ref = m_ref; m_lock.unlock(); return ref; } public void put(V _ref) { m_lock.lock(); m_ref = _ref; m_lock.unlock(); } public void lock() { m_lock.lock(); } public void unlock() { m_lock.unlock(); } }