
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java Thread currentThread() Method
Description
The Java Thread currentThread() method returns a reference to the currently executing thread object.
Declaration
Following is the declaration for java.lang.Thread.currentThread() method
public static Thread currentThread()
Parameters
NA
Return Value
This method returns the currently executing thread.
Exception
NA
Example: Getting Current Thread in Multi-threaded program
The following example shows the usage of Java Thread currentThread() method. In this example, we've created a thread class ThreadDemo by implementing Runnable Interface. In ThreadDemo constructor currently active thread is retrieved using currentThread method, a new thread is created and both are printed.
package com.tutorialspoint; public class ThreadDemo implements Runnable { ThreadDemo() { // main thread Thread currThread = Thread.currentThread(); // thread created Thread t = new Thread(this, "Admin Thread"); System.out.println("current thread = " + currThread); System.out.println("thread created = " + t); // this will call run() function t.start(); } public void run() { System.out.println("This is run() method"); } public static void main(String args[]) { new ThreadDemo(); } }
Output
Let us compile and run the above program, this will produce the following result −
current thread = Thread[main,5,main] thread created = Thread[Admin Thread,5,main] This is run() method
Example: Getting Current Thread in Single-threaded program
The following example shows the usage of Java Thread currentThread() method. In this example, we've created a thread class ThreadDemo. In main method, currently active thread is retrieved using currentThread method, and is printed.
package com.tutorialspoint; public class ThreadDemo { public static void main(String[] args) { Thread t = Thread.currentThread(); System.out.println("current thread = " + currThread); } }
Output
Let us compile and run the above program, this will produce the following result −
current thread = Thread[#1,main,5,main]