ehcache

net.sf.ehcache.util.lang
Class VicariousThreadLocal<T>

java.lang.Object
  extended by java.lang.ThreadLocal<T>
      extended by net.sf.ehcache.util.lang.VicariousThreadLocal<T>

public class VicariousThreadLocal<T>
extends ThreadLocal<T>

A drop-in replacement ThreadLocal implementation that does not leak when thread-local values reference the ThreadLocal object. The code is optimised to cope with frequently changing values.

In comparison to plain ThreadLocal, this implementation:


Constructor Summary
VicariousThreadLocal()
          Creates a new VicariousThreadLocal.
 
Method Summary
 T get()
           
 void poll()
          Check if any strong references need should be removed due to thread exit.
 void remove()
           
 void set(T value)
           
 
Methods inherited from class java.lang.ThreadLocal
initialValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VicariousThreadLocal

public VicariousThreadLocal()
Creates a new VicariousThreadLocal.

Method Detail

get

public T get()
Overrides:
get in class ThreadLocal<T>

set

public void set(T value)
Overrides:
set in class ThreadLocal<T>

remove

public void remove()
Overrides:
remove in class ThreadLocal<T>

poll

public void poll()
Check if any strong references need should be removed due to thread exit.


ehcache

Copyright 2001-2015, Terracotta, Inc.