The Java Thread dumpStack() method prints a stack trace of the current thread to the standard error stream. This method is used only for debugging.
DeclarationFollowing is the declaration for java.lang.Thread.dumpStack() method
public static void dumpStack()Parameters
NA
Return ValueThis method does not return any value.
ExceptionNA
Example: Printing Stack trace of a thread in Single Threaded EnvironmentThe following example shows the usage of Java Thread dumpStack() method. In this program, we've created a class ThreadDemo. In main method, we've retrieved current thread using currentThread() method, then printed the active thread count using activeCount() method. In the end, we've printed the stack trace using dumpStack() method.
package com.tutorialspoint; public class ThreadDemo { public static void main(String[] args) { Thread t = Thread.currentThread(); t.setName("Admin Thread"); // set thread priority to 1 t.setPriority(1); // prints the current thread System.out.println("Thread = " + t); int count = Thread.activeCount(); System.out.println("currently active threads = " + count); /* prints a stack trace of the current thread to the standard error stream, used for debugging */ Thread.dumpStack(); } }Output
Let us compile and run the above program, this will produce the following result −
Thread = Thread[#1,Admin Thread,1,main] currently active threads = 1 java.lang.Exception: Stack trace at java.base/java.lang.Thread.dumpStack(Thread.java:2209) at com.tutorialspoint.ThreadDemo.main(ThreadDemo.java:21)Example: Printing Stack trace of a thread in Multi Threaded Environment
The following example shows the usage of Java Thread dumpStack() method. In this program, we've created a thread class ThreadDemo by implementing Runnable interface. In constructor, we've retrieved current thread using currentThread() method, then created another thread and using start() method, started the same. In the end, we've printed the stack trace using dumpStack() method. In main method, instance of ThreadDemo class is created.
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(); /* prints a stack trace of the current thread to the standard error stream, used for debugging */ Thread.dumpStack(); } 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[#1,main,5,main] thread created = Thread[#21,Admin Thread,5,main] This is run() method java.lang.Exception: Stack trace at java.base/java.lang.Thread.dumpStack(Thread.java:2209) at com.tutorialspoint.ThreadDemo.<init>(ThreadDemo.java:20) at com.tutorialspoint.ThreadDemo.main(ThreadDemo.java:28)
java_lang_thread.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4