CodeGym /בלוג Java /Random-HE /כיתת טיימר ג'אווה
John Squirrels
רָמָה
San Francisco

כיתת טיימר ג'אווה

פורסם בקבוצה
ה-Java Timer Class הוא כלי רב עוצמה המאפשר לך לתזמן משימות לביצוע במרווחי זמן מוגדרים. בין אם אתה צריך להריץ משימה פעם אחת או שוב ושוב, מחלקת הטיימר מספקת דרך נוחה להפוך את תוכניות ה-Java שלך לאוטומטיות. במאמר זה, נחקור את התכונות של מחלקת טיימר Java ונלמד כיצד ליישם אותה ביעילות.

מבוא לשיעור טיימר Java

מחלקת הטיימר היא חלק מחבילת java.util ומשמשת לתזמן משימות לביצוע בזמן מוגדר או במרווחי זמן קבועים. הוא מספק דרך פשוטה ואמינה לביצוע קוד במרווחי זמן קבועים מראש, מה שהופך אותו לאידיאלי עבור משימות כגון הפעלת אירועים, ביצוע עדכונים תקופתיים או תזמון תהליכי רקע. כדי להשתמש ב- Timer Class, עליך ליצור אובייקט טיימר מהמחלקה java.util.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

לוח זמנים של טיימר Java

בנוסף לשיטות התזמון הבסיסיות, מחלקת הטיימר מספקת גם שיטת תזמון רבת עוצמה הנקראת לוח זמנים (משימה TimerTask, 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 שניות החל מהשעה הנוכחית. בשיטת תזמון זו, המשימה תמשיך להתבצע במרווח שצוין עד לביטול אובייקט הטיימר או שהתוכנית תסתיים. אחרת, זה יזרוק חריג.

סיכום

מחלקת ה-Java Timer מחבילת java.util.Timer היא כלי רב-תכליתי לתזמון משימות ביישומי Java שלך. זה מאפשר לך להפוך את ביצוע הקוד לאוטומטי במרווחי זמן מוגדרים, מה שהופך אותו לשימושי עבור תרחישים שונים כגון הפעלת אירועים, ביצוע עדכונים תקופתיים או תזמון תהליכי רקע. במאמר זה, חקרנו את היסודות של מחלקת ה-Java Timer , כולל יצירת אובייקט טיימר , תזמון משימות עם עיכובים או זמנים ספציפיים והגדרת ביצועים חוזרים ונשנים. למדנו גם על השיטות החשובות שמספקות כיתת הטיימר , כגון 'לוח זמנים' ותזמון (מטלת TimerTask, תאריך firstTime, תקופה ארוכה) . על ידי שימוש יעיל ב- Timer Class, אתה יכול להוסיף רמה של אוטומציה ויעילות לתוכניות Java שלך. נסה עם אפשרויות תזמון שונות וחקור יכולות נוספות של מחלקת הטיימר כדי לשפר את הפונקציונליות של היישומים שלך.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION