Java.lang.ThreadLocal.initialValue() Method



Description

The java.lang.ThreadLocal.initialValue() method returns the current thread's initial value for this thread-local variable.

Declaration

Following is the declaration for java.lang.ThreadLocal.initialValue() method

protected T initialValue()

Parameters

NA

Return Value

This method returns the initial value for this thread-local.

Exception

NA

Example

The following example shows the usage of java.lang.ThreadLocal.initialValue() method.

package com.tutorialspoint;

import java.lang.*;

public class ThreadLocalDemo {

   public static void main (String [] args) {

      newThread t1 = new newThread("R");
      newThread t2 = new newThread("S");

      // this will call run() method
      t1.start();
      t2.start();
   }
}

class newThread extends Thread {
   private static ThreadLocal t = new ThreadLocal() {
      protected Object initialValue() {
         return new Integer(n--);
      }
   };

   private static int n = 10;
   newThread(String name) {
      super(name);
   }

   public void run() {
      for(int i = 0; i < 2; i++)
      System.out.println (getName() + " " + t.get());
   }
} 

Let us compile and run the above program, this will produce the following result −

S 10
R 9
S 10
R 9
java_lang_threadlocal.htm
Advertisements