How can you create a thread in Java ?

Definition

A thread in Java is a lightweight process that can run concurrently within a Java program. Java supports multithreading, where multiple threads run independently and can communicate with each other, making it possible to handle multiple tasks within a single program.

How to Create a Thread

In Java, there are two primary ways to create a thread:

  • By extending the Thread class
  • By implementing the Runnable interface

Example:

class MyThread extends Thread { // Extending the Thread class
    public void run() {
        System.out.println("Thread is running...");
    }
}

public class ThreadExample {
    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.start();  // Start the thread
    }
}


class MyRunnable implements Runnable { //implementing the Runnable interface
    public void run() {
        System.out.println("Thread is running...");
    }
}

public class ThreadExample {
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();  // Start the thread
    }
}
Java

Output:

Thread is running...
Java

Features of Threads in Java

  • Multiple threads can execute independently.
  • The JVM can switch between threads efficiently.
  • Java provides mechanisms (such as synchronized keyword) to control access to resources across threads.
  • Threads have specific states, like NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, and TERMINATED.
  • Threads can have priorities that influence the order of execution.
  • Threads can be set as daemon threads, which means they run in the background.

Advantages of Using Threads

  • Threads enable better CPU utilization by allowing multiple tasks to be executed simultaneously, especially on multi-core systems.
  • In GUI applications, threads allow time-consuming tasks (like network requests) to run in the background, keeping the UI responsive.
  • Multithreaded programs can sometimes simplify complex applications by dividing tasks into separate threads.
  • Threads within the same process can share resources more efficiently than separate processes can, because they share the same memory space.

Post navigation

If you like this post you might alo like these

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock