Java Create Thread Example

Java Thread Examples


Java provides two ways to create a thread programmatically.
  1. Implementing the Runnable interface.
  2. Extending the Thread class.
In the previous example, we have seen Java Create Thread using Runnable Interface Example.

In this example, we will learn how to create a thread using a Thread class.

Java Create Thread Example

Let's create a new thread simply by extending your class from java.lang.Thread and overriding it’s run() method.
The run() method contains the code that is executed inside the new thread. Once a thread is created, you can start it by calling the start() method.
Let's demonstrate how to create and start a Thread by extending java.lang.Thread class. 
In this example the main() method is the main thread, we will create and start the WorkerThread in the main thread.
class WorkerThread extends Thread {
     private String anyData;
 
     public WorkerThread(final String anyData) {
          this.anyData = anyData;
     }
 
     @Override
     public void run() {
     for (int i = 0; i < 5; i++) {
          System.out.println("[" + Thread.currentThread().getName() + "] "
          + "[data=" + this.anyData + "] Message " + i);
     try {
         Thread.sleep(200);
     } catch (final InterruptedException e) {
         e.printStackTrace();
     }
   }
}
}


/**
 *  Instantiate a thread by using Thread class.
 *  @author Ramesh fadatare
 **/

public class ThreadExample {
 
    public static void main(final String[] args) {
  
         System.out.println("Thread main started");

         final Thread thread = new WorkerThread("Process data using WorkerThread"); 
         thread.start();
         thread.setName("WorkerThread");
  
         System.out.println("Thread main finished");
    }
}
Output:
Thread main started
Thread main finished
[WorkerThread] [data=Process data using WorkerThread] Message 0
[WorkerThread] [data=Process data using WorkerThread] Message 1
[WorkerThread] [data=Process data using WorkerThread] Message 2
[WorkerThread] [data=Process data using WorkerThread] Message 3
[WorkerThread] [data=Process data using WorkerThread] Message 4

Comments

  1. Thanks for your post. I’ve been thinking about writing a very comparable post over the last couple of weeks, I’ll probably keep it short and sweet and link to this instead if thats cool. Thanks. 510 cartridge

    ReplyDelete

Post a comment