مزامنة سلاسل جافا مع الموقت والمؤقتالمهمة
java.util.timer هي فئة يمكن استخدامها لجدولة (java جدولة) المهام المرتبطة بمؤشر ترابط للتنفيذ في المستقبل. يمكن تشغيل المهام مرة واحدة أو بشكل متكرر على فترات منتظمة.يمكن لسلاسل الرسائل المتعددة مشاركة مثيل واحد من النمط المؤقت< / span> بشرط أن يكون هناك مزامنة لمؤشرات ترابط java.
java.util.TimerTask< / b> هي فئة مجردة تنفذ نمط قابل للدوران < / امتداد>. نحتاج إلى الوراثة من هذه الفئة لإنشاء نمط TimerTask< / span > والتي سيتم جدولتها باستخدام < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >المؤقت< / الامتداد>. نمط المؤقت< / span> الطرق الانتظار والإخطار < / a> لجدولة العمليات.
فيما يلي مثال على تنفيذ المؤقت:
< pre class = "prettyprint lang-java" >import java.awt.Toolkit ؛
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
Public Class TimerTask{
مجموعة أدوات ثابتة ؛
TimerTask العام () {
toolkit = Toolkit.getDefaultToolkit ();
TimerTask timerTask = new executetask ();
// قم بتشغيل مهمة المؤقت كمؤشر ترابط deamon
مؤقت مؤقت = مؤقت جديد (صحيح) ؛
// shedule المهمة للتنفيذ المستقبلي في وقت محدد مسبقا
timer.schedule (timerTask ، 0 ، 1 * 1000) ؛
System.out.println ("تم إلغاء تشغيل TimerTask") ؛
// إلغاء بعد 10 ثوان < br / > حاول {
Thread.sleep (10000) ؛
} catch (InterruptedException e) {
e.printStackTrace();
}
timer.cancel ();
System.out.println ("توقف TimerTask ");
}
فئة executetask يمتد TimerTask {
@Override
تشغيل الفراغ العام () {
System.out.println ("يبدأ: "+ تاريخ جديد ());
جرب {
//2 ثانية لإكمال المهمة
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
toolkit.beep();
System.out.println ("النهاية: "+تاريخ جديد());
}
}
الفراغ العام الثابت الرئيسي (سلسلة args []) {
مؤقت جديد ();
}
}
< / pre> Output

< / div>
هذا مثال بسيط لمدير المهام. سيتم إطلاق المؤقت a المهمة كل 1 ثانية (1000 مللي ثانية) بشكل متكرر وفاصل زمني ثابت. باستخدام الطريقة schedule () < / span> والذي يأخذ كوسيطات: < / div>
طريقة نمط Timer.cancel () < / span> يلغي المؤقت وجميع المهام في قائمة الانتظار. بمجرد الانتهاء من ذلك ، يتم ذلك يتم أيضا إنهاء مؤشر ترابط البرنامج الخفي.
المراجع:
Oracle: فئة المؤقت< / a>
Oracle: timerTask class
java2s:Toolkit beep
javapoint: مؤشر ترابط البرنامج الخفي
- La المهمة ليتم طلبها.
- الوقت قبل المهمة سيتم إعدامه. بالمللي ثانية.
- الوقت بين عمليات الإعدام المتتالية المهام أو تردد التنفيذ بالمللي ثانية.
طريقة نمط Timer.cancel () < / span> يلغي المؤقت وجميع المهام في قائمة الانتظار. بمجرد الانتهاء من ذلك ، يتم ذلك يتم أيضا إنهاء مؤشر ترابط البرنامج الخفي.
المراجع:
Oracle: فئة المؤقت< / a>
Oracle: timerTask class
java2s:Toolkit beep
javapoint: مؤشر ترابط البرنامج الخفي