Method declaration – public String getName().
This method returns the Thread name.
package multithreading; public class ThreadGetNameExample { public static void main(String[] args) { System.out.println("Thread name is :- "+Thread.currentThread().getName()); } }
Output is – Thread name is :- main
Inside getName() method we are returning name variable which is defined as volatile.
class Thread { private volatile String name; public final String getName() { return name; } }
Let’s see another example where we will define a custom thread.
package multithreading; public class ThreadExample extends Thread { public static void main(String[] args) { Thread thread1 = new Thread() { public void run() { System.out.println("Using Thread class "+Thread.currentThread().getName()); } }; thread1.start(); Runnable r = new Runnable() { public void run() { System.out.println("Using Runnable interface "+Thread.currentThread().getName()); } }; Thread thread2 = new Thread(r); thread2.start(); } }
Output is –
Using Thread class Thread-0
Using Runnable interface Thread-1