📄 timemanager.java
字号:
package concurrency.time;
import java.util.*;
import java.awt.event.*;
public class TimeManager extends Thread
implements AdjustmentListener{
volatile int delay;
ImmutableList clocked = null;
public TimeManager(int d) {delay = d;}
public void addTimed(Timed el) {
clocked = ImmutableList.add(clocked,el);
}
public void removeTimed(Timed el) {
clocked = ImmutableList.remove(clocked,el);
}
public void adjustmentValueChanged(AdjustmentEvent e) {
delay = e.getValue();
}
public void run () {
try {
while(true) {
try {
Enumeration e = ImmutableList.elements(clocked);
while (e.hasMoreElements()) //pretick broadcast
((Timed)e.nextElement()).pretick();
e = ImmutableList.elements(clocked);
while (e.hasMoreElements()) //tick broadcast
((Timed)e.nextElement()).tick();
} catch (TimeStop s) {
System.out.println("*** TimeStop");
return;
}
Thread.sleep(delay);
}
} catch (InterruptedException e){}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -