The answer is absolutely no, we can never start a thread twice in java. It means once any thread is started, it cannot be started again. If we try to do so then it will throw an IllegalThreadStateException. For the first time the thread will be executed but for the second time it will throw an exception.

Program to show IllegalThreadStateException when a thread is called twice
class Sample extends Thread
 {
 public void run()
  {
  System.out.println("Thread is running");
   }

public static void main(String args[])
  {
 Sample t1=new Sample();
 t1.start();
 t1.start();
   }
 } 

Output:

What happens when we call run ( ) method directly instead start ( ) method?