java.lang
Class ThreadLocal
java.lang.Object
|
+--java.lang.ThreadLocal
- Direct Known Subclasses:
- InheritableThreadLocal
- public class ThreadLocal
- extends Object
This class provides ThreadLocal variables. These variables differ from
their normal counterparts in that each thread that accesses one (via its
get or set method) has its own, independently initialized copy of the
variable. ThreadLocal objects are typically private static variables in
classes that wish to associate state with a thread (e.g., a user ID or
Transaction ID).
Each thread holds an implicit reference to its copy of a ThreadLocal
as long as the thread is alive and the ThreadLocal object is accessible;
after a thread goes away, all of its copies of ThreadLocal variables are
subject to garbage collection (unless other references to these copies
exist).
- Since:
- JDK1.2
Constructor Summary |
ThreadLocal()
Creates a ThreadLocal variable. |
Method Summary |
Object |
get()
Returns the value in the calling thread's copy of this ThreadLocal
variable. |
protected Object |
initialValue()
Returns the calling thread's initial value for this ThreadLocal
variable. |
void |
set(Object value)
Sets the calling thread's instance of this ThreadLocal variable
to the given value. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
ThreadLocal
public ThreadLocal()
- Creates a ThreadLocal variable.
initialValue
protected Object initialValue()
- Returns the calling thread's initial value for this ThreadLocal
variable. This method will be called once per accessing thread for
each ThreadLocal, the first time each thread accesses the variable
with get or set. If the programmer desires ThreadLocal variables
to be initialized to some value other than null, ThreadLocal must
be subclassed, and this method overridden. Typically, an anonymous
inner class will be used. Typical implementations of initialValue
will call an appropriate constructor and return the newly constructed
object.
get
public Object get()
- Returns the value in the calling thread's copy of this ThreadLocal
variable. Creates and initializes the copy if this is the first time
the thread has called this method.
set
public void set(Object value)
- Sets the calling thread's instance of this ThreadLocal variable
to the given value. This is only used to change the value from
the one assigned by the initialValue method, and many applications
will have no need for this functionality.
- Parameters:
value
- the value to be stored in the calling threads' copy of
this ThreadLocal.
Submit a bug or feature Version 1.2 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.