45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:如何使用java中Timer?

如何使用java中Timer?

2016-08-26 04:36:10 来源:www.45fan.com 【

如何使用java中Timer?

在应用开发中,经常需要一些周期性的操作,比如每5分钟检查一下新邮件等。对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。比如下面的代码每5分钟检查一遍是否有新邮件:

1. privatejava.util.Timertimer;

2. timer=newTimer(true);

3. timer.schedule(newjava.util.TimerTask(){

4. publicvoidrun(){

5. //server.checkNewMail();检查新邮件

6. }

7. },0,5*60*1000);


使用这几行代码之后,Timer本身会每隔5分钟调用一遍server.checkNewMail()方法,不需要自己启动线程。Timer本身也是多线程同步的,多个线程可以共用一个Timer,不需要外部的同步代码。
在《TheJavaTutorial》中有更完整的例子:

1. publicclassAnnoyingBeep{

2. Toolkittoolkit;

3. Timertimer;

4.

5. publicAnnoyingBeep(){

6. toolkit=Toolkit.getDefaultToolkit();

7. timer=newTimer();

8. timer.schedule(newRemindTask(),

9. 0,//initialdelay

10. 1*1000);//subsequentrate

11. }

12.

13. classRemindTaskextendsTimerTask{

14. intnumWarningBeeps=3;

15.

16. publicvoidrun(){

17. if(numWarningBeeps>0){

18. toolkit.beep();

19. System.out.println("Beep!");

20. numWarningBeeps--;

21. }else{

22. toolkit.beep();

23. System.out.println("Time'sup!");

24. //timer.cancel();//NotnecessarybecausewecallSystem.exit

25. System.exit(0);//StopstheAWTthread(andeverythingelse)

26. }

27. }

28. }

29. ...

30. }

这段程序,每隔3秒响铃一声,并打印出一行消息。循环3次。程序输出如下:
Taskscheduled.
Beep!
Beep!//onesecondafterthefirstbeep
Beep!//onesecondafterthesecondbeep
Time'sup!//onesecondafterthethirdbeep

Timer
类也可以方便地用来作为延迟执行,比如下面的代码延迟指定的时间(以秒为单位)执行某操作。类似电视的延迟关机功能。

1. ...

2. publicclassReminderBeep{

3. ...

4. publicReminderBeep(intseconds){

5. toolkit=Toolkit.getDefaultToolkit();

6. timer=newTimer();

7. timer.schedule(newRemindTask(),seconds*1000);

8. }

9.

10. classRemindTaskextendsTimerTask{

11. publicvoidrun(){

12. System.out.println("Time'sup!");

13. toolkit.beep();

14. //timer.cancel();//NotnecessarybecausewecallSystem.exit

15. System.exit(0);//StopstheAWTthread(andeverythingelse)

16. }

17. }

18. ...

19. }


本文地址:http://www.45fan.com/dnjc/67643.html
Tags: 经常 Java Timer
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部