🚀 Master Java with Ram N Java!
Join thousands of learners and level up your coding skills today.
SUBSCRIBE NOWIntroduction to Naming Your Timer Thread
In Java, when you use the Timer class to schedule background tasks, a separate thread is created to handle those tasks. By default, Java gives these threads generic names like "Timer-0". While this works fine for execution, it makes debugging a nightmare!
Why Should You Use a Custom Thread Name?
Imagine you have five different timers running in your application. If one of them crashes or causes a performance bottleneck, your logs will just show "Timer-1". Which one is that?
- Easier Debugging: Identify exactly which background task is running.
- Better Logging: Custom names appear in your console and log files.
- Professional Code: It's a best practice in multi-threaded programming.
How to Set the Name (Simple Code)
The Timer class provides a specific constructor that allows you to pass a String as the name of the thread. Here is how you can do it:
Now, whenever this timer executes a TimerTask, the thread handling it will be clearly labeled as "MyEmailSchedulerThread".
Explore More Java Tutorials
If you enjoyed this tutorial, check out these related videos from the channel:
ReminderTimerTask.java
public class ReminderTimerTask extends TimerTask
{
public void run()
{
System.out.println("Wake up...");
}
}
TimerDemo.java
import java.util.TimerTask;
public class TimerDemo
{
public static void main(String[] args) throws InterruptedException
{
/*
*
* Creates a new timer whose associated thread has the
* specified name. The associated thread does not run as a
* daemon.
*
* Parameters:
*
* name - the name of the associated thread
*/
Timer timer = new Timer("Reminder Timer");
TimerTask reminderTimerTask = new ReminderTimerTask();
timer.schedule(reminderTimerTask, 5000, 2000);
System.out.println("Timer has schedule the reminderTimerTask...");
}
}
Output:
Wake up...
Wake up...
Wake up...
Wake up...
Wake up...
Wake up...
Wake up...
Click the below link to download the code:
https://sites.google.com/site/javaspringram2019/java_spring_2019/TimerDemo_thread_name.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/Java_Spring_2019/tree/master/Java_2019/TimerDemo_thread_name
Bitbucket Link:
https://bitbucket.org/ramram43210/java_spring_2019/src/2db5cd1f4e7d5ab55ad7af886d6164700143c614/Java_2019/TimerDemo_thread_name/?at=master
See also:
No comments:
Post a Comment