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