Java ThreadLocal Class
Introduction
The Java ThreadLocal class provides thread-local variables.
Class Declaration
Following is the declaration for java.lang.ThreadLocal class −
public class ThreadLocal<T> extends Object
Class constructors
| Sr.No. | Constructor & Description |
|---|---|
| 1 | ThreadLocal() This creates a thread local variable. |
Class methods
| Sr.No. | Method & Description |
|---|---|
| 1 | T get()
This method returns the value in the current thread's copy of this thread-local variable. |
| 2 | protected T initialValue()
This method returns the current thread's "initial value" for this thread-local variable. |
| 3 | void remove()
This method removes the current thread's value for this thread-local variable. |
| 4 | void set(T value)
This method sets the current thread's copy of this thread-local variable to the specified value. |
Methods inherited
This class inherits methods from the following classes −
- java.lang.Object
Example: Getting a Value from ThreadLocal Object
The following example shows the usage of Java ThreadLocal get() method. In this program, we've initialized a ThreadLocal object. Using set() method, a value is assigned to ThreadLocal object and using get() method, value is retrieved and printed.
package com.tutorialspoint;
public class ThreadLocalDemo {
public static void main(String[] args) {
ThreadLocal<Integer> tlocal = new ThreadLocal<Integer>();
tlocal.set(100);
// returns the current thread's value
System.out.println("value = " + tlocal.get());
tlocal.set(90);
// returns the current thread's value of
System.out.println("value = " + tlocal.get());
}
}
Output
Let us compile and run the above program, this will produce the following result −
value = 100 value = 90