Skip to main content

Java Thread - Let's move to parallel execution.

Assume we have 5 array of integer type and we want to add all numbers of array.
  • 1st way (Sequential Way)
    We can pick array one by one and add all numbers and give the result. In this way only one thread (main thread) will execute the program.
  • 2nd way (Multithreaded Way)
    In Multithreaded way, we can create 5 thread and assign an array to each thread to add all the numbers of array. All 5 thread will run parallel and give result 5 times faster than 1st way.

What is Thread & Multithreading?

A process may contain sub processes which execute parallel and use same resource of main process these sub processes are threads and whole phenomena called Multithreading.


How to implement thread in Java?

Java thread is sub process of process. In java, Thread class use to achieve multithreading in program.

Initialize Thread

There is two way to initialize and run thread in java.
  • By extending Thread class
  • By implementing Runnable interface

By extending Thread class


public class TestThread extends Thread {
 
 @Override
 public void run() {
        System.out.println("Thread Runs--"+Thread.currentThread().getName());
 }
 
 public static void main(String[] args) {
  
  //initialize thread 1 and run
  TestThread t1 = new TestThread();
  t1.start();
  
  //initialize thread 2 and run
  TestThread t2 = new TestThread();
  t2.start();
  
 }

}

/*OUTPUT::
 
Thread Runs--Thread-0
Thread Runs--Thread-1
 
 */

Main Points
  • A thread need a task to execute, task implemented into run method and run method is overridden method of Thread class.
  • TestThread extends Thread so TestThread class is a type of thread. creating TestThread class object means we are also creating a Thread object.
  • start() execute thread in different stack so thread run independently.
  • by calling start() method, thread will execute run method to perform the task.

By implementing Runnable interface

In this way, There is seprate class for thread task. This class implemnts Runnable interface which make it Runnable Class.
  • Creating Runnable Class
    
    public class Task implements Runnable{
    
     @Override
     public void run() {
        System.out.println("Thread Runs--"+Thread.currentThread().getName());
     }
    
    }
    
  • Creating Main Application
    
    public class TestRunnable {
     
     public static void main(String[] args) {
      
      //creating runnable class object
      Task task = new Task();
      
      //creating thread with runnable task
      Thread t1 = new Thread(task);
      
      //start thread
      t1.start();
      
     }
    
    }
    

Comments

  1. nice article. thanks for sharing such nice post . visit java collection tutorial

    ReplyDelete
  2. Amazing blog got vey information about java from this blog thanks for sharing with us
    Angular course
    Angular training

    ReplyDelete

Post a Comment

Popular posts from this blog

Java Array, Multi Dimensional Array, Anonymous Array and Arrays Util Class

Array An array is a index based container object. The length of an array fixed at time of array creation. An Array holds a fixed number of values of a single type . One Dimensional Array Array can be created by two ways. Syntex: //1st way arraytype[] name = new arraytype[length]; //2nd way arraytype name[] = new arraytype[length]; 1st way is more readable. Examples: //charecyter Array Example: //creating Array of char, length 5 char[] charArray = new char[5]; //Initialize array elements charArray[0] = 'H'; charArray[1] = 'E'; charArray[2] = 'L'; charArray[3] = 'L'; charArray[4] = 'O'; //creating Array of int, length 4 int[] intArray = new int[4]; //Initialize array elements intArray[0] = 2; intArray[1] = 0; intArray[2] = 1; intArray[3] = 5; //creating Array of string, length 7 String[] weeks = new String[7]; //Initialize array elements weeks[0] = "mon"; weeks[1] = "tue"; weeks[2] = "wed"; w

String - A story of very special class in java

String is most used java class in any java project. Java treated String as special class. Lets see, what so special in String. String Basics String is group of characters. char[] chrs = {'i',' ','a','m',' ','h','e','r','o','.'}; String str = new String(chrs); System.out.println(str); /* Output: i am hero. */ String is an immutable class. Immutable class:  A java class which object can not be modified if once created. Because String class is immutable, String is final in nature, its mean you can not modify string object once you created. Default value of string is null. Simplest way to initialize String is //object created in String Literal Pool String str = "hello world"; Above example known as String literal, All string literals in Java programs, such as "hello world", are object of String class. Another way to create String object is //object created in Heap m