Java Exception Thread

Thread is the independent path of execution run inside the program. Many Thread run concurrently in the program.

Java Exception Thread

Thread is the independent path of execution run inside the program. Many Thread run concurrently in the program.

Java Exception Thread

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]