Java Exception Thread

Thread is the independent path of execution run inside the program. Many
Thread run concurrently in the program. Multithread are those group of more than
one thread that runs concurrently in a program. Thread in a program
is imported from java.lang.thread class.InMultithread,the thread run
concurently,synchronous or asynchronous.
Advantage of Multithread
1)Multithread are lightweight as compared to any processes.
2)Context Switching between the thread is less expensive as compared to
processes.
3)Intercommunication between thread is relatively economically than
processes.
4)Multithread occupy the same address and data space.
5)Thread can run independently in program.
Method in Object and Thread Class
|
Object |
Thread |
|
1)Notify(
) |
1)Sleep( ) |
|
2)Notify all(
) |
2)Yield( ) |
|
3)wait( ) |
|
How to Create Thread
There are method to create thread
1)Extends the Threads Class( java.lang.thread)
2)Implement Runnable interface( java .lang. thread)
Understand Exception in Threads.
1.A class name RunnableThread implements the Runnable interface gives
you the run( ) method executed by the thread. Object of this class
is runnable
2. The Thread constructor is used to create an object of RunnableThread class
by passing runnable object as parameter.. The Thread object has a Runnable
object that implements the run( ) method.
3. The start( ) method is invoked on the Thread object . The start( ) method
returns immediately once a thread has been spawned.
4. The thread ends when the run( ) method ends which is to be normal
termination or caught exception.
5.runner = new Thread(this,threadName) is used to create a new thread
6 .runner. start( ) is used to start the new thread.
7.public void run( ) is overrideable method used to display the information
of particular thread
8.Thread.currentThread().sleep(2000) is used to deactivate the thread untill
the next thread started execution or used to delay the current thread.
Source Code
class RunnableThread implements Runnable
{
Thread runner;
public RunnableThread() {
}
public RunnableThread(String threadName)
{
runner = new Thread(this, threadName);
System.out.println(runner.getName());
runner.start(); // (2) Start the thread.
}
public void run() {
//Display info about this particular thread
System.out.println(Thread.currentThread());
}
}
public class RunnableExample
{
public static void main(String args[])
{
Thread threada = new Thread(new RunnableThread(), "threada");
Thread threadb = new Thread(new RunnableThread(), "threadb");
RunnableThread thread3 = new RunnableThread("thread3");
threada.start();
threadb.start();
Thread.currentThread().sleep(2000);
System.out.println(Thread.currentThread());
}
}
|
Output on the Command Prompt
C:\saurabh>javac RunnableExample.java
RunnableExample.java:28: unreported exception
java.lang.InterruptedException; must be caught or declared to be thro
wn
Thread.currentThread().sleep(1000);
^ |
How to Overcome this Thread Exception in Java Program
In the preceding code, we have seen an unreported exception in threads. In
order to overcome this situation, we need to place the sleep( ) method in try
block in which the exception occur, followed by the subsequent catch block
to handle the try block, Now you can, Check the output on command prompt.
class RunnableThread implements Runnable
{
Thread runner;
public RunnableThread() {
}
public RunnableThread(String threadName)
{
runner = new Thread(this, threadName);
System.out.println(runner.getName());
runner.start();
}
public void run()
{
System.out.println(Thread.currentThread());
}
}
public class RunnableExample
{
public static void main(String args[])
{
Thread threada = new Thread(new RunnableThread(), "threada");
Thread threadb = new Thread(new RunnableThread(), "threadb");
RunnableThread thread3 = new RunnableThread("thread3");
threada.start();
threadb.start();
try
{
Thread.currentThread().sleep(2000);
}
catch(InterruptedException e)
{
}
System.out.println(Thread.currentThread());
}
}
|
Output on Command Prompt.
C:\saurabh>javac RunnableExample.java
C:\saurabh>java RunnableExample
thread3
Thread[threada,5,main]
Thread[threadb,5,main]
Thread[thread3,5,main]
Thread[main,5,main]
|

|