📄 timer.java
字号:
package socket.test.timer;/** * (liangyiqing)假如我在一个Timer类里面再定义一个Timer类, * 如果外层定义的时间是24小时循环一次,而内层定义的是1小时循环一次, * 意思就是当一个小时内层运行完一次之后,内层Timer释放资源,我想问, * 外层的Timer是不是也会释放,还是24小时之中一直都在占用? * 我不太清楚你的占用资源是什么意思,如果你在Task中用到一些资源 , * 这些资源应该在Task运行结束后即刻释放,尤其对竞态条件,更应该占用尽量少的时间。 * 一般来说,一次Task的运行时间,将少于你设定的周期。否则,Task将在Timer中堆积起来。 * 如果你要实现上面说的每24小时和每1小时两个周期的操作,可以使用一个Timer,schedule两个Task即可。 */import java.util.*;import java.awt.*;public class Timer { Toolkit toolkit; java.util.Timer timer; public Timer() { toolkit = Toolkit.getDefaultToolkit(); timer = new java.util.Timer(); timer.schedule(new RemindTask(), 0, 1*1000);//每一秒执行一次RemindTask类的run方法 } class RemindTask extends TimerTask { //int numWarningBeeps = 3; public void run() { /* if (numWarningBeeps > 0) { toolkit.beep();*/ System.out.println("Beep!"); /* numWarningBeeps--; } else { toolkit.beep(); System.out.println("Time's up!"); System.exit(0); }*/ } } public static void main(String args[]){ Timer s=new Timer(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -