CodeGym /وبلاگ جاوا /Random-FA /کلاس تایمر جاوا
John Squirrels
مرحله
San Francisco

کلاس تایمر جاوا

در گروه منتشر شد
کلاس تایمر جاوا ابزار قدرتمندی است که به شما امکان می دهد وظایف را در بازه های زمانی مشخص اجرا کنید. چه نیاز داشته باشید که یک کار را یک بار یا به طور مکرر اجرا کنید، کلاس تایمر یک راه راحت برای خودکار کردن برنامه های جاوا شما ارائه می دهد. در این مقاله، ویژگی‌های کلاس تایمر جاوا را بررسی می‌کنیم و نحوه پیاده‌سازی موثر آن را یاد می‌گیریم.

مقدمه ای بر کلاس تایمر جاوا

کلاس 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 لغو شود یا برنامه خاتمه یابد، کار در بازه زمانی مشخص اجرا می‌شود . در غیر این صورت، یک استثنا ایجاد می کند.

نتیجه

کلاس Java Timer از بسته java.util.Timer یک ابزار همه کاره برای زمان بندی وظایف در برنامه های جاوا شما است. این امکان را به شما می دهد تا اجرای کد را در بازه های زمانی مشخص به صورت خودکار انجام دهید و آن را برای سناریوهای مختلف مانند راه اندازی رویدادها، انجام به روز رسانی های دوره ای یا زمان بندی فرآیندهای پس زمینه مفید می کند. در این مقاله، اصول کلاس تایمر جاوا ، از جمله ایجاد شی تایمر ، زمان‌بندی وظایف با تأخیر یا زمان‌های خاص، و تنظیم اجراهای تکراری را بررسی کردیم. ما همچنین در مورد روش‌های مهم ارائه شده توسط کلاس تایمر ، مانند «زمان‌بندی» و زمان‌بندی (TimerTask task، Date firstTime، دوره طولانی) آشنا شدیم . با استفاده موثر از کلاس تایمر ، می توانید سطحی از اتوماسیون و کارایی را به برنامه های جاوا خود اضافه کنید. گزینه‌های زمان‌بندی مختلف را آزمایش کنید و قابلیت‌های بیشتر کلاس تایمر را بررسی کنید تا عملکرد برنامه‌های خود را افزایش دهید.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION