Java Thread start()

In this guide, you will learn about the Thread start() method in Java programming and how to use it with an example.

1. Thread start() Method Overview

Definition:

The Thread.start() method is used to start the execution of a new thread. The Java Virtual Machine calls the run() method of this thread.

Syntax:

public void start()

Parameters:

None.

Key Points:

- This method initiates a call to the run() method of the Thread class.

- Once the start() method is called, the Java runtime takes over and the JVM decides when the thread will actually run.

- Invoking the start() method on a thread that's already started will lead to an IllegalThreadStateException.

- It's essential to differentiate between start() and run(). Directly calling run() will execute the method in the current thread rather than starting a new thread.

2. Thread start() Method Example


public class ThreadStartExample {
    public static void main(String[] args) {
        // Create a new thread
        Thread newThread = new Thread(() -> {
            for(int i = 0; i < 5; i++) {
                System.out.println("Inside new thread");
            }
        });

        // Start the new thread
        newThread.start();

        for(int i = 0; i < 5; i++) {
            System.out.println("Inside main thread");
        }
    }
}

Output:

Inside main thread
Inside new thread
Inside main thread
Inside new thread
Inside main thread
Inside new thread
Inside main thread
Inside new thread
Inside new thread

Explanation:

In the example, we create a new thread and use the Thread.start() method to start its execution. The new thread prints "Inside new thread" 5 times, and the main thread prints "Inside main thread" 5 times. The exact order of the outputs might vary because the execution order of threads is not guaranteed. Therefore, different runs may produce slightly different interleaved outputs.

Comments