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 
Advertisements