Java Thread currentThread()

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

1. Thread currentThread() Method Overview


The Thread.currentThread() method returns a reference to the currently executing thread object.


public static Thread currentThread()



Key Points:

- This method is static and can be invoked on the Thread class directly.

- The returned thread object is the one that is currently running and invoking this method.

- It can be used to retrieve metadata about the current thread or manipulate its state.

- Useful for debugging purposes or to modify behavior based on thread properties.

2. Thread currentThread() Method Example

public class CurrentThreadExample {
    public static void main(String[] args) {
        // Create a new thread
        Thread newThread = new Thread(() -> {
            // Inside the thread, print its name
            System.out.println("Running inside the thread: " + Thread.currentThread().getName());

        // Start the new thread

        // Print the name of the main thread
        System.out.println("This is the: " + Thread.currentThread().getName());


This is the: main
Running inside the thread: Thread-0


In the above example, we create a new thread and start it. Inside the thread's body, we use Thread.currentThread() to print the name of the currently executing thread. 

Similarly, in the main method, we print the name of the main thread. Note that the exact order of outputs can vary as threads may not execute in the same order across different runs.