constructors :
Thread()
Thread(Runnable obj)
Thread(Runnable obj,String s)
Thread(String s)
Here, obj is a reference to an object that implements the Runnable interface and s is a String used to identify the Thread.
Methods of Thread class
Operation | Explanation |
thread.start ( ); | the thread becomes ALIVE and starts executing its run method in a new context (PC, stack) |
b = thread.isAlive ( ); | returns true if the thread is in the ALIVE state |
thread.interrupt ( ); | either the interrupted flag is set, or, if the thread is waiting or sleeping, throws InterruptedException |
b = thread.isInterrupted ( ); | returns true if the interrupted flag is set |
otherThread.join ( ); otherThread.join (millis); | wait until the other thread finishes (not isAlive ( )) or the given time passes |
thread.setPriority (i); i = thread.getPriority ( ); | set or get the thread's priority, respectively; a priority is only a hint to the scheduler |
Static Thread Methods | concern the thread that is currently running a CPU |
curr = Thread.currentThread ( ); | returns the current thread |
b = Thread.interrupted ( ); | returns true if the interrupted flag of the current thread is set, and clears the interrupted flag |
Thread.sleep (millis); Thread.sleep (millis, nanos); | the current thread enters the BLOCKED state and sleeps (at least) the given amount of milliseconds (+ nanos) |
Thread.yield ( ); | may give other threads a "chance" to run; the current thread still remains in the RUNNABLE state |
The Main Thread
When a Java program starts up, one thread begins running immediately. This is usually called the main thread of the program, because it is the one that is executed when your program begins. The main thread is important for two reasons:
1. It is the thread from which other “child” threads will be spawned.
2. Often it must be the last thread to finish execution because it performs various shutdown actions.
Programmers can control the main thread by first creating a Thread object and then using method members of the Thread object to control the main thread. The Thread object is created by calling the method currentThread( ), which is a public static member of Thread. The general form of this method is as follow:
static Thread currentThread( )
This method returns a reference to the thread in which it is called. Once you have a reference to the main thread, you can control it just like any other thread.
Ex,
class CurrentThreadDemo
{
public static void main(String args[])
{
Thread t = Thread.currentThread();
System.out.println("Current thread: " + t);
// change the name of the thread
t.setName("My Thread");
System.out.println("After name change: " + t);
try
{
for(int n = 10; n > 0; n--)
{
System.out.println(n);
Thread.sleep(1000);
}
}
catch (InterruptedException e)
{
System.out.println("Main thread interrupted");
}
}
}
Posted by :Ruchita Pandya
It's really nice....
ReplyDeletethanks
Awesome post aboutJava Thread.
ReplyDeletethanks for this useful post.