Java.lang.ThreadLocal.initialValue() Method

Advertisements


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:

R 10
R 10
S 9
S 9



Advertisements
Advertisements