کلاس تایمر جاوا ابزار قدرتمندی است که به شما امکان می دهد وظایف را در بازه های زمانی مشخص اجرا کنید. چه نیاز داشته باشید که یک کار را یک بار یا به طور مکرر اجرا کنید، کلاس تایمر یک راه راحت برای خودکار کردن برنامه های جاوا شما ارائه می دهد. در این مقاله، ویژگیهای کلاس تایمر جاوا را بررسی میکنیم و نحوه پیادهسازی موثر آن را یاد میگیریم.
مقدمه ای بر کلاس تایمر جاوا
کلاس Timer بخشی از بسته java.util است و برای برنامه ریزی وظایف برای اجرا در زمان مشخص یا در فواصل زمانی معین استفاده می شود. این یک راه ساده و قابل اعتماد برای اجرای کد در فواصل زمانی از پیش تعیین شده ارائه میکند و آن را برای کارهایی مانند راهاندازی رویدادها، انجام بهروزرسانیهای دورهای یا زمانبندی فرآیندهای پسزمینه ایدهآل میکند. برای استفاده از کلاس Timer ، باید یک شی Timer از کلاس java.util.Timer ایجاد کنید . این شی Timer مسئول زمان بندی و اجرای وظایف بر اساس نیاز شما است.ایجاد یک شی تایمر
بیایید با ایجاد یک شی Timer و بررسی روش های آن شروع کنیم. در مثال کد زیر، یک شی Timer ایجاد می کنیم و یک کار را برنامه ریزی می کنیم تا پس از یک تاخیر مشخص یک بار اجرا شود:// First we will import the java.util.Timer & java.util.TimerTask classes
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer(); // Creating a Timer object from the timer class
TimerTask task1 = new TimerTask() {
public void run() {
System.out.println("Task 1 executed!");
}
};
TimerTask task2 = new TimerTask() {
public void run() {
System.out.println("Task 2 executed!");
}
};
TimerTask task3 = new TimerTask() {
public void run() {
System.out.println("Task 3 executed!");
}
};
// Scheduling tasks to run after specified delays
timer.schedule(task1, 2000); // Using the schedule method of the timer class
timer.schedule(task2, 4000); // Using the schedule method of the timer class
timer.schedule(task3, 6000); // Using the schedule method of the timer class
}
}
در این مثال به روز شده، شی Timer با استفاده از کلاس Timer ایجاد می شود . هر TimerTask نشان دهنده یک کار است که باید توسط تایمر برنامه ریزی و اجرا شود. روش اجرا در هر TimerTask حاوی کدی است که باید هنگام اجرای کار اجرا شود. سپس کارها با استفاده از روش زمانبندی کلاس Timer برنامه ریزی می شوند که وظیفه و تاخیر را بر حسب میلی ثانیه مشخص می کند. در این کد سه بار از روش زمانبندی استفاده شده است که هر بار با یک کار و تاخیر متفاوت است.
خروجی
هنگامی که کد را اجرا می کنید، خروجی آن به شرح زیر است:
وظیفه 1 اجرا شد! وظیفه 2 اجرا شد! وظیفه 3 اجرا شد!
هر کار پس از تأخیر مربوطه اجرا می شود و عملکرد کلاس Timer را نشان می دهد .
روش های تایمر
کلاس تایمر روش های مختلفی را برای برنامه ریزی وظایف برای اجرا فراهم می کند. بیایید برخی از روش های رایج مورد استفاده را بررسی کنیم:1. برنامه زمانی (تکلیف TimerTask، تاخیر طولانی)
این روش وظیفه مشخص شده را برای اجرا پس از تاخیر مشخص شده زمان بندی می کند. تأخیر بر حسب میلی ثانیه مشخص می شود. مثلا:timer.schedule(task, 5000); // Schedule the task to run after a 5-second delay
2. برنامه زمانی (تکلیف TimerTask، زمان تاریخ)
این روش وظیفه مشخص شده را برای اجرا در زمان مشخص زمان بندی می کند. وظیفه فقط یک بار اجرا می شود. مثلا:Date executionTime = new Date(System.currentTimeMillis() + 5000); // Get the current time + 5 seconds
timer.schedule(task, executionTime); // Schedule the task to run at the specified time
3. برنامه زمانی (کار TimerTask، تاخیر طولانی، دوره طولانی)
این روش وظیفه مشخص شده را برای اجرای مکرر پس از تاخیر مشخص شده و در فواصل زمانی مشخص زمان بندی می کند. تأخیر زمان بر حسب میلی ثانیه قبل از اولین اجرا و دوره زمانی بر حسب میلی ثانیه بین اجرای بعدی است. مثلا:timer.schedule(task, 2000, 5000); // Schedule the task to run after a 2-second delay and repeat every 5 seconds
برنامه زمانبندی جاوا
علاوه بر روشهای زمانبندی اولیه، کلاس تایمر همچنین یک روش زمانبندی قدرتمند به نام زمانبندی (TimerTask task، Date firstTime، دوره طولانی) ارائه میکند . این روش به شما اجازه می دهد تا یک کار را برای اجرای مکرر با شروع در یک زمان خاص و در فواصل زمانی معین زمان بندی کنید. در اینجا یک مثال است که استفاده از این روش را نشان می دهد:import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
System.out.println("Task executed!");
}
};
// Schedule the task to run every 5 seconds starting from the current time
Date startTime = new Date();
timer.schedule(task, startTime, 5000);
}
}
در این مثال، یک شی Timer ایجاد می کنیم و TimerTask را مانند قبل تعریف می کنیم. همچنین یک شی startTime از نوع Date ایجاد می کنیم تا زمان شروع کار را مشخص کنیم. سپس از روش زمانبندی برای برنامه ریزی کار برای اجرای هر 5 ثانیه از زمان فعلی استفاده می شود. با استفاده از این روش زمانبندی، تا زمانی که شی Timer لغو شود یا برنامه خاتمه یابد، کار در بازه زمانی مشخص اجرا میشود . در غیر این صورت، یک استثنا ایجاد می کند.
GO TO FULL VERSION